From: J. Bruce Fields Date: Fri, 19 Mar 2021 00:03:23 +0000 (-0400) Subject: nfsd: COPY with length 0 should copy to end of file X-Git-Tag: io_uring-5.13-2021-05-07~76^2~22 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=792a5112aa90e59c048b601c6382fe3498d75db7;p=linux-block.git nfsd: COPY with length 0 should copy to end of file >From https://tools.ietf.org/html/rfc7862#page-65 A count of 0 (zero) requests that all bytes from ca_src_offset through EOF be copied to the destination. Reported-by: Signed-off-by: J. Bruce Fields Signed-off-by: Chuck Lever --- diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index c57cf09a8b60..d7b100a1e306 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1387,6 +1387,9 @@ static ssize_t _nfsd_copy_file_range(struct nfsd4_copy *copy) u64 src_pos = copy->cp_src_pos; u64 dst_pos = copy->cp_dst_pos; + /* See RFC 7862 p.67: */ + if (bytes_total == 0) + bytes_total = ULLONG_MAX; do { if (kthread_should_stop()) break;