Module Name: src Committed By: martin Date: Mon Aug 29 15:39:40 UTC 2022
Modified Files: src/external/cddl/osnet/dist/lib/libzfs/common [netbsd-9]: libzfs_import.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #1503): external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c: revision 1.7 external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c: revision 1.6 When collecting zpool devices, skip disks with wedges so that a concurrent test of a wedge on that disk doesn't fail. libzfs: Zero DIOCLWEDGES input before ioctl. Otherwise we ask the kernel to write over whatever random pointer was in the stack garbage here, when all we wanted was to learn whether dkwl_nwedges is zero or nonzero. XXX pullup-9 To generate a diff of this commit: cvs rdiff -u -r1.4.4.1 -r1.4.4.2 \ 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.4.4.1 src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c:1.4.4.2 --- src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c:1.4.4.1 Tue Aug 20 11:42:35 2019 +++ src/external/cddl/osnet/dist/lib/libzfs/common/libzfs_import.c Mon Aug 29 15:39:39 2022 @@ -1095,8 +1095,17 @@ zpool_open_func(void *arg) } #endif /* __FreeBSD__ */ #ifdef __NetBSD__ + struct dkwedge_list dkwl; off_t size; + /* skip devices with wedges */ + memset(&dkwl, 0, sizeof(dkwl)); + 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);