Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Nov 2009 01:43:11 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r199466 - user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <200911180143.nAI1hBHo051832@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Wed Nov 18 01:43:11 2009
New Revision: 199466
URL: http://svn.freebsd.org/changeset/base/199466

Log:
  mark buffer invalid if it doesn't match the expect birth txg

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 01:35:36 2009	(r199465)
+++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Nov 18 01:43:11 2009	(r199466)
@@ -1369,7 +1369,6 @@ arc_getblk(arc_buf_t *buf)
 	struct vnode *vp;
 	struct bufobj *bo;
 	int flags = 0;
-	int preflags, postflags;
 
 	if (type == ARC_BUFC_METADATA) {
 		arc_space_consume(size);
@@ -1392,14 +1391,9 @@ arc_getblk(arc_buf_t *buf)
 		buf->b_hdr->b_flags &= ~ARC_BUF_CLONING;
 	} else {
 		newbp = getblk(vp, blkno, size, 0, 0, flags);
-		preflags = newbp->b_flags;
-
-		if (newbp->b_vp != NULL)
-			brelvp(newbp);
-		postflags = newbp->b_flags;
-
-		if (preflags != postflags)
-			CTR2(KTR_SPARE2, "arc_getblk() flags change pre %X post %X", preflags, postflags);
+		if (newbp->b_birth != buf->b_hdr->b_birth)
+			newbp->b_flags |= B_INVAL;
+		brelvp(newbp);
 		data = newbp->b_data;
 	}
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911180143.nAI1hBHo051832>