svn commit: r330295 - head/cddl/contrib/opensolaris/lib/libzfs/common
Alan Somers
asomers at FreeBSD.org
Fri Mar 2 21:26:49 UTC 2018
Author: asomers
Date: Fri Mar 2 21:26:48 2018
New Revision: 330295
URL: https://svnweb.freebsd.org/changeset/base/330295
Log:
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: https://reviews.freebsd.org/D13088
Modified:
head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
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)
free(label);
*config = NULL;
+ errno = ENOENT;
return (-1);
}
More information about the svn-src-all
mailing list