diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2017-07-15 19:24:54 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2017-07-15 19:24:54 +0000 |
commit | fc5d98f046efdae2cce1406467b88855a4ce4cc4 (patch) | |
tree | 5e1415ecaae8cfb21981143ec4f72636a50ebe09 /sys/fs/nfsclient/nfs_clnode.c | |
parent | 52330ec7aba753626b0bd08623efab39659a6b89 (diff) | |
download | FreeBSD-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.c | 8 |
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); } |