diff options
author | jhb <jhb@FreeBSD.org> | 2009-02-19 22:18:00 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2009-02-19 22:18:00 +0000 |
commit | 508874f4299bd6840631dde45b0eb6bc8b29a3d9 (patch) | |
tree | eef65379cda15bc554ab99c715615ad83acdfcaf | |
parent | 76ad79ad2cd4b1796f0d3442bf0167bfdaa21f1d (diff) | |
download | FreeBSD-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.c | 6 |
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; |