diff options
author | ru <ru@FreeBSD.org> | 2011-05-04 13:27:45 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2011-05-04 13:27:45 +0000 |
commit | b0a86c9f257a1311ae8daa811c6c3b6e199f05e5 (patch) | |
tree | 4b861261899defb3fa31ca5958853bd86a0388d8 /sys/nfsclient/nfs_vnops.c | |
parent | c5a0d73cf16c8dff00d2586d802bc17e15a00566 (diff) | |
download | FreeBSD-src-b0a86c9f257a1311ae8daa811c6c3b6e199f05e5.zip FreeBSD-src-b0a86c9f257a1311ae8daa811c6c3b6e199f05e5.tar.gz |
Implemented a mount option "nocto" that disables cache coherency
checking at open time. It may improve performance for read-only
NFS mounts. Use deliberately.
MFC after: 1 week
Reviewed by: rmacklem, jhb (earlier version)
Diffstat (limited to 'sys/nfsclient/nfs_vnops.c')
-rw-r--r-- | sys/nfsclient/nfs_vnops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index cb2a126..33506a4 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -960,7 +960,8 @@ nfs_lookup(struct vop_lookup_args *ap) */ newvp = *vpp; newnp = VTONFS(newvp); - if ((flags & (ISLASTCN | ISOPEN)) == (ISLASTCN | ISOPEN) && + if (!(nmp->nm_flag & NFSMNT_NOCTO) && + (flags & (ISLASTCN | ISOPEN)) == (ISLASTCN | ISOPEN) && !(newnp->n_flag & NMODIFIED)) { mtx_lock(&newnp->n_mtx); newnp->n_attrstamp = 0; |