diff usr/src/uts/common/fs/zfs/dsl_dataset.c @ 8228:51e9ca9ee3a5

6572357 libzfs should do more to avoid mnttab lookups 6572376 zfs_iter_filesystems and zfs_iter_snapshots get objset stats twice
author Eric Taylor <Eric.Taylor@Sun.COM>
date Tue, 25 Nov 2008 13:36:43 -0700
parents 001de5627df3
children 41a0783dde17
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/dsl_dataset.c	Tue Nov 25 13:18:25 2008 -0700
+++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c	Tue Nov 25 13:36:43 2008 -0700
@@ -1948,6 +1948,9 @@
 	if (ds->ds_phys->ds_next_snap_obj) {
 		stat->dds_is_snapshot = B_TRUE;
 		stat->dds_num_clones = ds->ds_phys->ds_num_children - 1;
+	} else {
+		stat->dds_is_snapshot = B_FALSE;
+		stat->dds_num_clones = 0;
 	}
 
 	/* clone origin is really a dsl_dir thing... */
@@ -1959,6 +1962,8 @@
 		    ds->ds_dir->dd_phys->dd_origin_obj, FTAG, &ods));
 		dsl_dataset_name(ods, stat->dds_origin);
 		dsl_dataset_drop_ref(ods, FTAG);
+	} else {
+		stat->dds_origin[0] = '\0';
 	}
 	rw_exit(&ds->ds_dir->dd_pool->dp_config_rwlock);
 }