From: Sachin Prabhu Date: Wed, 26 Apr 2017 16:10:17 +0000 (+0100) Subject: Do not return number of bytes written for ioctl CIFS_IOC_COPYCHUNK_FILE X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7d0c234fd2e1c9ca3fa032696c0c58b1b74a9e0b;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Sachin Prabhu Acked-by: Pavel Shilovsky Cc: stable@vger.kernel.org Signed-off-by: Steve French --- 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: