summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2010-07-18 22:35:46 +0000
committerrmacklem <rmacklem@FreeBSD.org>2010-07-18 22:35:46 +0000
commit2408918606e89f8cab79b07feaa6da0cef14fd1a (patch)
treea085f936ff860a603f290a9e918aaf2909b39d98 /sys/fs
parent3e540217974c33a858d099e8b23a14382c6aaffa (diff)
downloadFreeBSD-src-2408918606e89f8cab79b07feaa6da0cef14fd1a.zip
FreeBSD-src-2408918606e89f8cab79b07feaa6da0cef14fd1a.tar.gz
Add a call to nfscl_mustflush() in nfs_close() of the experimental
NFSv4 client, so that attributes are not acquired from the server when a delegation for the file is held. This can reduce the number of Getattr Ops significantly. MFC after: 2 weeks
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsclient/nfs_clvnops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c
index 0ae54f0..bc623ed 100644
--- a/sys/fs/nfsclient/nfs_clvnops.c
+++ b/sys/fs/nfsclient/nfs_clvnops.c
@@ -709,7 +709,7 @@ nfs_close(struct vop_close_args *ap)
/*
* Get attributes so "change" is up to date.
*/
- if (!error) {
+ if (error == 0 && nfscl_mustflush(vp)) {
ret = nfsrpc_getattr(vp, cred, ap->a_td, &nfsva,
NULL);
if (!ret) {
OpenPOWER on IntegriCloud