vfs_default: use copy_file_range()
authorRalph Boehme <slow@samba.org>
Thu, 24 Jun 2021 14:21:42 +0000 (16:21 +0200)
committerJule Anger <janger@samba.org>
Wed, 11 Aug 2021 09:54:14 +0000 (09:54 +0000)
commitf9bcec6298d3ba42963b3c30f280c1f7ff5d20de
tree119d5a076a711539e59fed3c71d35387a4f1edc6
parentc44d2e8dbdc4e2828e4fb233d67d05bca7bd0779
vfs_default: use copy_file_range()

Original file on an XFS filesystem:

  $ ls -l /mnt/test/1048578-file
  -rw-rw-r--. 1 slow slow 1048578 Jun 25 11:40 /mnt/test/1048578-file

  $ xfs_bmap /mnt/test/1048578-file
  /mnt/test/1048578-file:
          0: [0..2055]: 192..2247

Copy created with cp --reflink=never:

  $ xfs_bmap /mnt/test/1048578-file-reflink-never
  /mnt/test/1048578-file-reflink-never:
          0: [0..2055]: 2248..4303

Copy created with cp --reflink=always

  $ xfs_bmap /mnt/test/1048578-file-reflink-always
  /mnt/test/1048578-file-reflink-always:
          0: [0..2055]: 192..2247

Copy done from a Windows client:

  $ xfs_bmap /mnt/test/1048578-file\ -\ Copy
  /mnt/test/1048578-file - Copy:
          0: [0..2055]: 192..2247

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12033
RN: smbd should support copy_file_range() for FSCTL_SRV_COPYCHUNK

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jun 30 17:40:23 UTC 2021 on sn-devel-184

(cherry picked from commit accaa2f1f67a7f064a4ce03a120d7b2f8e847ccf)
source3/modules/vfs_default.c