Author: asomers
Date: Fri Mar  2 21:26:48 2018
New Revision: 330295

  ZFS: fix adding vdevs to very large pools
  r323791 changed the return value of zpool_read_label.  Error paths that
  previously returned 0 began to return -1 instead.  However, not all error
  paths initialized errno.  When adding vdevs to a very large pool, errno could
  be prepopulated with ENOMEM, causing the operation to fail.  Fix the bug by
  setting errno=ENOENT in the case that no ZFS label is found.
  PR:           226096
  Submitted by: Nikita Kozlov
  Reviewed by:  avg
  MFC after:    3 weeks
  Differential Revision:


Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c     Fri Mar 
 2 21:26:27 2018        (r330294)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c     Fri Mar 
 2 21:26:48 2018        (r330295)
@@ -923,6 +923,7 @@ zpool_read_label(int fd, nvlist_t **config)
        *config = NULL;
+       errno = ENOENT;
        return (-1);
_______________________________________________ mailing list
To unsubscribe, send any mail to ""

Reply via email to