usr/src/uts/common/fs/zfs/dsl_pool.c
changeset 3897 278bade789ba
parent 3547 e396e0a440b1
child 5367 c40abbe796be
--- a/usr/src/uts/common/fs/zfs/dsl_pool.c	Mon Mar 26 10:41:59 2007 -0700
+++ b/usr/src/uts/common/fs/zfs/dsl_pool.c	Mon Mar 26 12:01:20 2007 -0700
@@ -182,6 +182,8 @@
 	while (ds = txg_list_remove(&dp->dp_dirty_datasets, txg)) {
 		if (!list_link_active(&ds->ds_synced_link))
 			list_insert_tail(&dp->dp_synced_objsets, ds);
+		else
+			dmu_buf_rele(ds->ds_dbuf, ds);
 		dsl_dataset_sync(ds, zio, tx);
 	}
 	err = zio_wait(zio);
@@ -214,6 +216,7 @@
 		list_remove(&dp->dp_synced_objsets, ds);
 		ASSERT(ds->ds_user_ptr != NULL);
 		zil_clean(((objset_impl_t *)ds->ds_user_ptr)->os_zil);
+		dmu_buf_rele(ds->ds_dbuf, ds);
 	}
 }