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
This commit is contained in:
parent
c505b59961
commit
50b779bdc9
@ -923,6 +923,7 @@ zpool_read_label(int fd, nvlist_t **config)
|
||||
|
||||
free(label);
|
||||
*config = NULL;
|
||||
errno = ENOENT;
|
||||
return (-1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user