summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-02-19 22:18:00 +0000
committerjhb <jhb@FreeBSD.org>2009-02-19 22:18:00 +0000
commit508874f4299bd6840631dde45b0eb6bc8b29a3d9 (patch)
treeeef65379cda15bc554ab99c715615ad83acdfcaf
parent76ad79ad2cd4b1796f0d3442bf0167bfdaa21f1d (diff)
downloadFreeBSD-src-508874f4299bd6840631dde45b0eb6bc8b29a3d9.zip
FreeBSD-src-508874f4299bd6840631dde45b0eb6bc8b29a3d9.tar.gz
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
-rw-r--r--sys/nfsclient/nfs_vnops.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index 54f8be5..90400cc 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -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;
OpenPOWER on IntegriCloud