diff options
author | Sachin Prabhu <sprabhu@redhat.com> | 2017-04-26 17:10:17 +0100 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2017-04-28 07:56:33 -0500 |
commit | 7d0c234fd2e1c9ca3fa032696c0c58b1b74a9e0b (patch) | |
tree | 57841c5018bbaa79734a207f38f32b9670d4f3db /fs/cifs | |
parent | cd8c42968ee651b69e00f8661caff32b0086e82d (diff) | |
download | linux-7d0c234fd2e1c9ca3fa032696c0c58b1b74a9e0b.tar.gz linux-7d0c234fd2e1c9ca3fa032696c0c58b1b74a9e0b.tar.bz2 linux-7d0c234fd2e1c9ca3fa032696c0c58b1b74a9e0b.zip |
Do not return number of bytes written for ioctl CIFS_IOC_COPYCHUNK_FILE
commit 620d8745b35d ("Introduce cifs_copy_file_range()") changes the
behaviour of the cifs ioctl call CIFS_IOC_COPYCHUNK_FILE. In case of
successful writes, it now returns the number of bytes written. This
return value is treated as an error by the xfstest cifs/001. Depending
on the errno set at that time, this may or may not result in the test
failing.
The patch fixes this by setting the return value to 0 in case of
successful writes.
Fixes: commit 620d8745b35d ("Introduce cifs_copy_file_range()")
Reported-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Acked-by: Pavel Shilovsky <pshilov@microsoft.com>
Cc: stable@vger.kernel.org
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r-- | fs/cifs/ioctl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/ioctl.c b/fs/cifs/ioctl.c index 265c45fe4ea5..7f4bba574930 100644 --- a/fs/cifs/ioctl.c +++ b/fs/cifs/ioctl.c @@ -74,7 +74,8 @@ static long cifs_ioctl_copychunk(unsigned int xid, struct file *dst_file, rc = cifs_file_copychunk_range(xid, src_file.file, 0, dst_file, 0, src_inode->i_size, 0); - + if (rc > 0) + rc = 0; out_fput: fdput(src_file); out_drop_write: |