usr/src/uts/common/fs/zfs/dmu_tx.c
changeset 1758 d0750a16db04
parent 1686 6da8a30c0960
child 1793 d371fba21a3e
--- a/usr/src/uts/common/fs/zfs/dmu_tx.c	Thu Apr 06 06:28:44 2006 -0700
+++ b/usr/src/uts/common/fs/zfs/dmu_tx.c	Thu Apr 06 18:51:58 2006 -0700
@@ -335,18 +335,14 @@
 	/*
 	 * We don't need to use any locking to check for dirtyness
 	 * because it's OK if we get stale data -- the dnode may become
-	 * dirty immediately after our check anyway.  However, we need
-	 * the lock to ensure that the link isn't changing while we call
-	 * list_link_active(), to satisfy its assertions.  This is just
-	 * a means to avoid the expensive count when we aren't sure we
+	 * dirty immediately after our check anyway.  This is just a
+	 * means to avoid the expensive count when we aren't sure we
 	 * need it.  We need to be able to deal with a dirty dnode.
 	 */
-	mutex_enter(&dn->dn_objset->os_lock);
 	dirty = list_link_active(&dn->dn_dirty_link[0]) |
 	    list_link_active(&dn->dn_dirty_link[1]) |
 	    list_link_active(&dn->dn_dirty_link[2]) |
 	    list_link_active(&dn->dn_dirty_link[3]);
-	mutex_exit(&dn->dn_objset->os_lock);
 	if (dirty || dn->dn_assigned_tx || dn->dn_phys->dn_nlevels == 0)
 		return;