]> git.baikalelectronics.ru Git - kernel.git/commit
nfsd: Ensure CLONE persists data and metadata changes to the target file
authorTrond Myklebust <trondmy@gmail.com>
Wed, 27 Nov 2019 22:05:51 +0000 (17:05 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Sat, 30 Nov 2019 19:55:38 +0000 (14:55 -0500)
commitb70d12264612afbb0d083dc289648f8298a7ca36
tree7ae7376eae2f736843731a269c3a77f7920317d0
parenta63d19eabb8d37076d3e005881d05697160fd853
nfsd: Ensure CLONE persists data and metadata changes to the target file

The NFSv4.2 CLONE operation has implicit persistence requirements on the
target file, since there is no protocol requirement that the client issue
a separate operation to persist data.
For that reason, we should call vfs_fsync_range() on the destination file
after a successful call to vfs_clone_file_range().

Fixes: 47465f937730 ("nfsd: implement the NFSv4.2 CLONE operation")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: stable@vger.kernel.org # v4.5+
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4proc.c
fs/nfsd/vfs.c
fs/nfsd/vfs.h