svn commit: r199474 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Kip Macy kmacy at FreeBSD.org
Wed Nov 18 05:52:10 UTC 2009


Author: kmacy
Date: Wed Nov 18 05:52:09 2009
New Revision: 199474
URL: http://svn.freebsd.org/changeset/base/199474

Log:
  simplify arc_bgetvp

Modified:
  user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c

Modified: user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Nov 18 05:44:17 2009	(r199473)
+++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Nov 18 05:52:09 2009	(r199474)
@@ -1332,16 +1332,12 @@ arc_bgetvp(arc_buf_t *buf)
 		if (((bp->b_flags & (B_CACHE|B_INVAL)) == B_CACHE) &&
 		    (bp->b_birth > hdr->b_birth)) {
 			brelse(bp);
-		} else if (hdr->b_flags & ARC_IO_ERROR) {
-			bp->b_flags |= B_INVAL;
-			bp->b_birth = 0;
-			brelse(bp);
 		} else {
-			
 			bp->b_flags |= B_INVAL;
 			bp->b_birth = 0;
 			brelse(bp);
-			if ((newbp->b_flags & (B_INVAL|B_CACHE)) == B_CACHE) {
+			if (!(hdr->b_flags & ARC_IO_ERROR) &&
+			    (newbp->b_flags & (B_INVAL|B_CACHE)) == B_CACHE) {
 				BO_LOCK(bo);
 				bgetvp(vp, newbp);
 				BO_UNLOCK(bo);


More information about the svn-src-user mailing list