Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Feb 2009 22:18:01 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r188832 - head/sys/nfsclient
Message-ID:  <200902192218.n1JMI1HF009245@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Thu Feb 19 22:18:00 2009
New Revision: 188832
URL: http://svn.freebsd.org/changeset/base/188832

Log:
  When fetching attributes for a file for NFSv3 mounts, do not perform an
  opportunistic ACCESS RPC to populate both the access and attribute caches
  of the file and instead always use a GETATTR RPC.  On many modern NFS
  servers, an ACCESS RPC is much more expensive to service than a GETATTR
  RPC.
  
  Submitted by:	mohans

Modified:
  head/sys/nfsclient/nfs_vnops.c

Modified: head/sys/nfsclient/nfs_vnops.c
==============================================================================
--- head/sys/nfsclient/nfs_vnops.c	Thu Feb 19 22:10:39 2009	(r188831)
+++ head/sys/nfsclient/nfs_vnops.c	Thu Feb 19 22:18:00 2009	(r188832)
@@ -644,12 +644,6 @@ nfs_getattr(struct vop_getattr_args *ap)
 	 */
 	if (nfs_getattrcache(vp, &vattr) == 0)
 		goto nfsmout;
-	if (v3 && nfsaccess_cache_timeout > 0) {
-		nfsstats.accesscache_misses++;
-		nfs3_access_otw(vp, NFSV3ACCESS_ALL, td, ap->a_cred);
-		if (nfs_getattrcache(vp, &vattr) == 0)
-			goto nfsmout;
-	}
 	nfsstats.rpccnt[NFSPROC_GETATTR]++;
 	mreq = nfsm_reqhead(vp, NFSPROC_GETATTR, NFSX_FH(v3));
 	mb = mreq;



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