Page MenuHomeFreeBSD

D22077.diff
No OneTemporary

D22077.diff

Index: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
===================================================================
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
@@ -1244,12 +1244,20 @@
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 +1322,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, Jan 21, 12:27 AM (6 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15990062
Default Alt Text
D22077.diff (1 KB)

Event Timeline