summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfs_clnode.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2017-07-15 19:24:54 +0000
committerrmacklem <rmacklem@FreeBSD.org>2017-07-15 19:24:54 +0000
commitfc5d98f046efdae2cce1406467b88855a4ce4cc4 (patch)
tree5e1415ecaae8cfb21981143ec4f72636a50ebe09 /sys/fs/nfsclient/nfs_clnode.c
parent52330ec7aba753626b0bd08623efab39659a6b89 (diff)
downloadFreeBSD-src-fc5d98f046efdae2cce1406467b88855a4ce4cc4.zip
FreeBSD-src-fc5d98f046efdae2cce1406467b88855a4ce4cc4.tar.gz
MFC: r320345
Add support to the NFSv4.1/pNFS client for commits through the DS. A NFSv4.1/pNFS server using File Layout can specify that Commit operations are to be done against the DS instead of MDS. Since no extant pNFS server did this, the code was untested and "#ifdef notyet". The FreeBSD pNFS server I am developing does specify that Commits be done through the DS, so the code has been enabled/tested. This patch should only affect the case of a pNFS server that specfies Commits through the DS. Relnotes: yes
Diffstat (limited to 'sys/fs/nfsclient/nfs_clnode.c')
-rw-r--r--sys/fs/nfsclient/nfs_clnode.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/fs/nfsclient/nfs_clnode.c b/sys/fs/nfsclient/nfs_clnode.c
index 3f2ea01..fe51cc9 100644
--- a/sys/fs/nfsclient/nfs_clnode.c
+++ b/sys/fs/nfsclient/nfs_clnode.c
@@ -261,10 +261,12 @@ ncl_inactive(struct vop_inactive_args *ap)
/*
* NMODIFIED means that there might be dirty/stale buffers
- * associated with the NFS vnode. None of the other flags are
- * meaningful after the vnode is unused.
+ * associated with the NFS vnode.
+ * NDSCOMMIT means that the file is on a pNFS server and commits
+ * should be done to the DS.
+ * None of the other flags are meaningful after the vnode is unused.
*/
- np->n_flag &= NMODIFIED;
+ np->n_flag &= (NMODIFIED | NDSCOMMIT);
mtx_unlock(&np->n_mtx);
return (0);
}
OpenPOWER on IntegriCloud