Module Name:    src
Committed By:   mlelstv
Date:           Sat Apr  4 13:45:22 UTC 2020

Modified Files:
        src/external/cddl/osnet/dist/lib/libzfs/common: libzfs_import.c

Log Message:
When collecting zpool devices, skip disks with wedges so that a
concurrent test of a wedge on that disk doesn't fail.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
    src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c
diff -u src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c:1.5 src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c:1.6
--- src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c:1.5	Tue Aug 20 08:11:21 2019
+++ src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c	Sat Apr  4 13:45:22 2020
@@ -1095,8 +1095,16 @@ zpool_open_func(void *arg)
 	}
 #endif /* __FreeBSD__ */
 #ifdef __NetBSD__
+	struct dkwedge_list dkwl;
 	off_t size;
 
+	/* skip devices with wedges */
+	if (native_ioctl(fd, DIOCLWEDGES, &dkwl) == 0 &&
+	    dkwl.dkwl_nwedges > 0) {
+		(void) close(fd);
+		return;
+	}
+
 	if (native_ioctl(fd, DIOCGMEDIASIZE, &size) < 0 ||
 	    size < SPA_MINDEVSIZE) {
 		(void) close(fd);

Reply via email to