<pre> FSCTLDUPLICATEEXTENTSTOFILE 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 </pre>

<pre> The cifs.ko Linux kernel SMB client includes support for FSCTLDUPLICATEEXTENTSTOFILE, which is invoked for cp --reflink initiated COW clone operations. </pre>

<pre> Samba has existing support for COW clones atop Btrfs via FSCTLSRVCOPYCHUNK: https://wiki.samba.org/index.php/Server-Side_Copy </pre>

<pre> This functionality should be extended to support the new FSCTLDUPLICATEEXTENTSTOFILE ioctl, to allow for remote COW clone requests from new (Windows10+) clients, and the cifs.ko kernel client. </pre>

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 mad skills in:

smb samba storage

This project is part of:

Hack Week 14

Activity

  • about 3 years ago: dmdiss added keyword "storage" to Implement Samba support for DUPLICATE_EXTENTS SMB3 fcntl
  • about 3 years ago: dmdiss added keyword "samba" to Implement Samba support for DUPLICATE_EXTENTS SMB3 fcntl
  • about 3 years ago: dmdiss added keyword "smb" to Implement Samba support for DUPLICATE_EXTENTS SMB3 fcntl
  • about 3 years ago: dmdiss originated Implement Samba support for DUPLICATE_EXTENTS SMB3 fcntl
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!