]> git.proxmox.com Git - mirror_zfs.git/commit
OpenZFS 7541 - zpool import/tryimport ioctl returns ENOMEM
authorGeorge Melikov <mail@gmelikov.ru>
Mon, 30 Jan 2017 21:20:55 +0000 (00:20 +0300)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 30 Jan 2017 21:20:54 +0000 (13:20 -0800)
commit28b40c8a6e31308531de0ab128887e65c28d891c
tree2bc40c06b275d07b41742f76d440911d6efb8248
parent456079d48dcc3e1394d1f519a17abae2177c5ffa
OpenZFS 7541 - zpool import/tryimport ioctl returns ENOMEM

Authored by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>

The refresh_config() calls into the kernel with ZFS_IOC_POOL_TRYIMPORT.
This ioctl returns the config of the pool in a buffer pre-allocated in
userland. The original estimate for the size is too conservative since
it doesn't account for the large size of vdev stats that are added to
the config before returning.
This fix simply increases the size of the buffer passed. This results in
a speed up of the zpool import process, and less spam in zfs_dbgmsg.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: George Melikov <mail@gmelikov.ru>
OpenZFS-issue: https://www.illumos.org/issues/7541
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/a3c7690
Closes #5704
include/libzfs_impl.h
lib/libzfs/libzfs_import.c