svn commit: r209094 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Martin Matuska mm at FreeBSD.org
Sat Jun 12 11:19:51 UTC 2010


Author: mm
Date: Sat Jun 12 11:19:51 2010
New Revision: 209094
URL: http://svn.freebsd.org/changeset/base/209094

Log:
  Fix zfs destroy fails to free object in open context, stops up txg train
  
  OpenSolaris onnv-revision:	9409:9dc3f17354ed
  
  Obtained from:	OpenSolaris (Bug ID 6809683)
  Approved by:	pjd, delphij (mentor)
  MFC after:	3 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c	Sat Jun 12 11:18:29 2010	(r209093)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c	Sat Jun 12 11:19:51 2010	(r209094)
@@ -1317,16 +1317,7 @@ dnode_next_offset_level(dnode_t *dn, int
 
 		for (i = (*offset >> span) & (blkfill - 1);
 		    i >= 0 && i < blkfill; i += inc) {
-			boolean_t newcontents = B_TRUE;
-			if (txg) {
-				int j;
-				newcontents = B_FALSE;
-				for (j = 0; j < dnp[i].dn_nblkptr; j++) {
-					if (dnp[i].dn_blkptr[j].blk_birth > txg)
-						newcontents = B_TRUE;
-				}
-			}
-			if (!dnp[i].dn_type == hole && newcontents)
+			if ((dnp[i].dn_type == DMU_OT_NONE) == hole)
 				break;
 			*offset += (1ULL << span) * inc;
 		}


More information about the svn-src-all mailing list