usr/src/uts/common/fs/zfs/dmu_objset.c
changeset 5147 5e950ccc9585
parent 4944 96d96f8de974
child 5326 6752aa2bd5bc
--- a/usr/src/uts/common/fs/zfs/dmu_objset.c	Fri Sep 28 11:01:47 2007 -0700
+++ b/usr/src/uts/common/fs/zfs/dmu_objset.c	Fri Sep 28 15:53:20 2007 -0700
@@ -177,7 +177,8 @@
 			return (err);
 		}
 		osi->os_phys = osi->os_phys_buf->b_data;
-		arc_release(osi->os_phys_buf, &osi->os_phys_buf);
+		if (ds == NULL || dsl_dataset_is_snapshot(ds) == 0)
+			arc_release(osi->os_phys_buf, &osi->os_phys_buf);
 	} else {
 		osi->os_phys_buf = arc_buf_alloc(spa, sizeof (objset_phys_t),
 		    &osi->os_phys_buf, ARC_BUFC_METADATA);