]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r318819: MFV r316908: 7541 zpool import/tryimport ioctl returns ENOMEM because...
authormav <mav@FreeBSD.org>
Wed, 26 Jul 2017 16:33:58 +0000 (16:33 +0000)
committermav <mav@FreeBSD.org>
Wed, 26 Jul 2017 16:33:58 +0000 (16:33 +0000)
commit97f8e3a109f67afd23ecc54f32fe7bdb00f6355a
tree7c46e63d3f2bb2c34b66a9054cbfca9f51f032a4
parent103da244a01d2ae3df5795fd7360c4c83d3e31ec
MFC r318819: MFV r316908: 7541 zpool import/tryimport ioctl returns ENOMEM because provided buffer is too small for config

illumos/illumos-gate@8b65a70b763232c90a91f31eb2010314c02ed338
https://github.com/illumos/illumos-gate/commit/8b65a70b763232c90a91f31eb2010314c02ed338

https://www.illumos.org/issues/7541
  When calling zpool import, zpool does a few ioctls to ZFS.
  zpool allocates a buffer in userland and passes it to the kernel so that ZFS
  can copy info into it. ZFS will use it to put the nvlist that describes the
  pool configuration.
  If the allocated buffer is too small, ZFS will return ENOMEM and the call will
  have to be redone. This wastes CPU time and slows down the import process. This
  happens very often for the ZFS_IOC_POOL_TRYIMPORT call.

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Author: Pavel Zakharov <pavel.zakharov@delphix.com>
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c