FSCTL_DUPLICATE_EXTENTS_TO_FILE is a new SMB3 ioctl introduced with
Windows Server 2016 (currently in technical preview), which allows for a client to
remotely request that the server perform a COW clone of a specified file:
https://msdn.microsoft.com/en-us/library/mt182620.aspx
The cifs.ko Linux kernel SMB client includes support for
FSCTL_DUPLICATE_EXTENTS_TO_FILE, which is invoked for cp --reflink
initiated COW clone operations. 
Samba has existing support for COW clones atop Btrfs via
FSCTL_SRV_COPYCHUNK:
https://wiki.samba.org/index.php/Server-Side_Copy
This functionality should be extended to support the new
FSCTL_DUPLICATE_EXTENTS_TO_FILE ioctl, to allow for remote COW clone
requests from new (Windows10+) clients, and the cifs.ko kernel client.

Time Plan:

  • Install Windows Server 2016 Technical Preview
  • Test cifs.ko fsctl support
  • Implement Samba client/smbtorture functionality
  • Implement Samba server support
  • Plumb functionality into Btrfs backend, for remote COW clones
  • Submit upstream

Looking for hackers with the skills:

smb samba storage

This project is part of:

Hack Week 14

Activity

  • about 8 years ago: dmdiss added keyword "storage" to this project.
  • about 8 years ago: dmdiss added keyword "smb" to this project.
  • about 8 years ago: dmdiss added keyword "samba" to this project.
  • about 8 years ago: dmdiss originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!