View | Details | Raw Unified | Return to bug 241083
Collapse All | Expand All

(-)cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c (+12 lines)
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));

Return to bug 241083