summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorSachin Prabhu <sprabhu@redhat.com>2017-02-10 16:03:51 +0530
committerSteve French <smfrench@gmail.com>2017-04-07 08:04:41 -0500
commit620d8745b35daaf507186c26b40c7ea02aed131e (patch)
treea634c2ac96c3920c979869e66eb28ff032406a51 /kernel
parent312bbc5946c4b73dfc1d64c1dd5b0f9df8016587 (diff)
downloadlinux-620d8745b35daaf507186c26b40c7ea02aed131e.tar.bz2
Introduce cifs_copy_file_range()
The earlier changes to copy range for cifs unintentionally disabled the more common form of server side copy. The patch introduces the file_operations helper cifs_copy_file_range() which is used by the syscall copy_file_range. The new file operations helper allows us to perform server side copies for SMB2.0 and 2.1 servers as well as SMB 3.0+ servers which do not support the ioctl FSCTL_DUPLICATE_EXTENTS_TO_FILE. The new helper uses the ioctl FSCTL_SRV_COPYCHUNK_WRITE to perform server side copies. The helper is called by vfs_copy_file_range() only once an attempt to clone the file using the ioctl FSCTL_DUPLICATE_EXTENTS_TO_FILE has failed. Signed-off-by: Sachin Prabhu <sprabhu@redhat.com> Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com> CC: Stable <stable@vger.kernel.org> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions