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
This commit is contained in:
John Baldwin 2009-02-19 22:18:00 +00:00
parent 3e057a2477
commit 5428c66130
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=188832

View File

@ -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;