Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Mar 2009 16:02:37 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-6@freebsd.org
Subject:   svn commit: r190160 - in stable/6/sys: . contrib/pf dev/cxgb nfsclient
Message-ID:  <200903201602.n2KG2bak007141@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Fri Mar 20 16:02:37 2009
New Revision: 190160
URL: http://svn.freebsd.org/changeset/base/190160

Log:
  MFC: Add a new vfs.nfs.prime_access_cache sysctl to determine whether or
  not nfs_getattr() will use an ACCESS RPC to prime the access cache instead
  of a simple GETATTR RPC.  The sysctl defaults to enabled to maintain the
  previous behavior.

Modified:
  stable/6/sys/   (props changed)
  stable/6/sys/contrib/pf/   (props changed)
  stable/6/sys/dev/cxgb/   (props changed)
  stable/6/sys/nfsclient/nfs_vnops.c

Modified: stable/6/sys/nfsclient/nfs_vnops.c
==============================================================================
--- stable/6/sys/nfsclient/nfs_vnops.c	Fri Mar 20 15:52:11 2009	(r190159)
+++ stable/6/sys/nfsclient/nfs_vnops.c	Fri Mar 20 16:02:37 2009	(r190160)
@@ -205,6 +205,11 @@ static int	nfsaccess_cache_timeout = NFS
 SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW,
 	   &nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout");
 
+static int	nfs_prime_access_cache = 1;
+SYSCTL_INT(_vfs_nfs, OID_AUTO, prime_access_cache, CTLFLAG_RW,
+	   &nfs_prime_access_cache, 0,
+	   "Prime NFS ACCESS cache when fetching attributes");
+
 static int	nfsv3_commit_on_close = 0;
 SYSCTL_INT(_vfs_nfs, OID_AUTO, nfsv3_commit_on_close, CTLFLAG_RW,
 	   &nfsv3_commit_on_close, 0, "write+commit on close, else only write");
@@ -585,7 +590,7 @@ nfs_getattr(struct vop_getattr_args *ap)
 	if (nfs_getattrcache(vp, ap->a_vap) == 0)
 		return (0);
 
-	if (v3 && nfsaccess_cache_timeout > 0) {
+	if (v3 && nfs_prime_access_cache && nfsaccess_cache_timeout > 0) {
 		nfsstats.accesscache_misses++;
 		nfs3_access_otw(vp, NFSV3ACCESS_ALL, ap->a_td, ap->a_cred);
 		if (nfs_getattrcache(vp, ap->a_vap) == 0)



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