Page MenuHomeFreeBSD

D22077.id67424.diff
No OneTemporary

D22077.id67424.diff

Index: cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
===================================================================
--- cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
+++ cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
@@ -1244,12 +1244,21 @@
avl_tree_t slice_cache;
rdsk_node_t *slice;
void *cookie;
+ boolean_t skip_zvols = B_FALSE;
+ int value;
+ size_t size = sizeof(value);
if (dirs == 0) {
dirs = 1;
dir = &default_dir;
}
+ if (sysctlbyname("vfs.zfs.vol.recursive", &value, &size, NULL, 0) == 0
+ && value == 0)
+ {
+ skip_zvols = B_TRUE;
+ }
+
/*
* Go through and read the label configuration information from every
* possible device, organizing the information according to pool GUID
@@ -1314,6 +1323,10 @@
}
LIST_FOREACH(mp, &mesh.lg_class, lg_class) {
+ if (skip_zvols &&
+ strcmp(mp->lg_name, "ZFS::ZVOL") == 0) {
+ continue;
+ }
LIST_FOREACH(gp, &mp->lg_geom, lg_geom) {
LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
slice = zfs_alloc(hdl, sizeof (rdsk_node_t));

File Metadata

Mime Type
text/plain
Expires
Tue, Dec 23, 1:23 PM (10 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27181614
Default Alt Text
D22077.id67424.diff (1 KB)

Event Timeline