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) _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"