|
Lines 1244-1249
Link Here
|
| 1244 |
avl_tree_t slice_cache; |
1244 |
avl_tree_t slice_cache; |
| 1245 |
rdsk_node_t *slice; |
1245 |
rdsk_node_t *slice; |
| 1246 |
void *cookie; |
1246 |
void *cookie; |
|
|
1247 |
bool zvol_recursive = true; |
| 1248 |
int value; |
| 1249 |
size_t size = sizeof(value); |
| 1247 |
|
1250 |
|
| 1248 |
if (dirs == 0) { |
1251 |
if (dirs == 0) { |
| 1249 |
dirs = 1; |
1252 |
dirs = 1; |
|
Lines 1250-1255
Link Here
|
| 1250 |
dir = &default_dir; |
1253 |
dir = &default_dir; |
| 1251 |
} |
1254 |
} |
| 1252 |
|
1255 |
|
|
|
1256 |
if (0 == sysctlbyname("vfs.zfs.vol.recursive", &value, &size, NULL, 0)) |
| 1257 |
{ |
| 1258 |
zvol_recursive = (value != 0); |
| 1259 |
} |
| 1260 |
|
| 1253 |
/* |
1261 |
/* |
| 1254 |
* Go through and read the label configuration information from every |
1262 |
* Go through and read the label configuration information from every |
| 1255 |
* possible device, organizing the information according to pool GUID |
1263 |
* possible device, organizing the information according to pool GUID |
|
Lines 1314-1319
Link Here
|
| 1314 |
} |
1322 |
} |
| 1315 |
|
1323 |
|
| 1316 |
LIST_FOREACH(mp, &mesh.lg_class, lg_class) { |
1324 |
LIST_FOREACH(mp, &mesh.lg_class, lg_class) { |
|
|
1325 |
if (!zvol_recursive && |
| 1326 |
strcmp(mp->lg_name, "ZFS::ZVOL") == 0) { |
| 1327 |
continue; |
| 1328 |
} |
| 1317 |
LIST_FOREACH(gp, &mp->lg_geom, lg_geom) { |
1329 |
LIST_FOREACH(gp, &mp->lg_geom, lg_geom) { |
| 1318 |
LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { |
1330 |
LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { |
| 1319 |
slice = zfs_alloc(hdl, sizeof (rdsk_node_t)); |
1331 |
slice = zfs_alloc(hdl, sizeof (rdsk_node_t)); |