diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-02-07 15:44:45 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-02-07 15:44:45 -0700 |
commit | ee6c0737a0253d6e79063f0a74c1101fdaad0812 (patch) | |
tree | 63ee5a7ecd69b2c80594e2dc02c8f91bb859d980 /fs | |
parent | 8b5cdbe595a05b8c767d9fe779bd47e997f934c9 (diff) | |
parent | e248aa7be86e8179f20ac0931774ecd746f3f5bf (diff) |
Merge tag 'nfsd-5.0-1' of git://linux-nfs.org/~bfields/linux
Pull nfsd fixes from Bruce Fields:
"Two small nfsd bugfixes for 5.0, for an RDMA bug and a file clone bug"
* tag 'nfsd-5.0-1' of git://linux-nfs.org/~bfields/linux:
svcrdma: Remove max_sge check at connect time
nfsd: Fix error return values for nfsd4_clone_file_range()
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/vfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 9824e32b2f23..7dc98e14655d 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -557,9 +557,11 @@ __be32 nfsd4_clone_file_range(struct file *src, u64 src_pos, struct file *dst, loff_t cloned; cloned = vfs_clone_file_range(src, src_pos, dst, dst_pos, count, 0); + if (cloned < 0) + return nfserrno(cloned); if (count && cloned != count) - cloned = -EINVAL; - return nfserrno(cloned < 0 ? cloned : 0); + return nfserrno(-EINVAL); + return 0; } ssize_t nfsd_copy_file_range(struct file *src, u64 src_pos, struct file *dst, |