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

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Wed Nov 18 22:31:10 2009
New Revision: 199495
URL: http://svn.freebsd.org/changeset/base/199495

Log:
  only cache new buffer if the buffer is valid and the I/O succeded

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 22:14:36 2009	(r199494)
+++ user/kmacy/releng_8_fcs_buf/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Wed Nov 18 22:31:10 2009	(r199495)
@@ -188,6 +188,7 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, mdcomp_di
     &zfs_mdcomp_disable, 0, "Disable metadata compression");
 
 static int zfs_page_cache_disable = 0;
+TUNABLE_INT("vfs.zfs.page_cache_disable", &zfs_page_cache_disable);
 SYSCTL_INT(_vfs_zfs, OID_AUTO, page_cache_disable, CTLFLAG_RDTUN,
     &zfs_page_cache_disable, 0, "Disable backing ARC with page cache ");
 
@@ -1343,9 +1344,8 @@ arc_bgetvp(arc_buf_t *buf)
 				BO_UNLOCK(bo);
 			}
 		} 
-	} else {
-		newbp->b_flags |= B_CACHE;
-		newbp->b_flags &= ~B_INVAL;
+	} else 	if (!(hdr->b_flags & ARC_IO_ERROR) &&
+	    (newbp->b_flags & (B_INVAL|B_CACHE)) == B_CACHE) {
 		bgetvp(vp, newbp);
 		BO_UNLOCK(bo);
 	}



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