[PATCHSET] support FSCTL_DUPLICATE_EXTENTS_TO_FILE

David Disseldorp ddiss at suse.de
Thu May 4 15:30:35 UTC 2017


Hi,

Please find attached a patchset from Aurélien and myself, which adds
support for FSCTL_DUPLICATE_EXTENTS_TO_FILE - a new reflink/clone FSCTL
supported on Windows Server 2016 shares backed by ReFS.

A couple of things that I'm still a little unsure about:
- It might be cleaner to move the locking calls out of the copy-chunk
  VFS function (drop VFS_COPY_CHUNK_FL_IGNORE_LOCKS), and move them
  into fsctl_srv_copychunk_loop(). Thoughts?
- The server behaviour for success on truncated clone (where the
  dest file's allocation size is less than the size of the clone) seems
  prone to races, especially given that the operation ignores locks.
  + See test_ioctl_dup_extents_len_beyond_dest(). Dochelp are aware of
    this inconsistency.
  + There's not much we can do here, as we need to match Windows Server
    2016 + ReFS behaviour.

Feedback appreciated.

Many thanks to the Microsoft Protocol Open Specifications Team for
clarifying a number of doc/wire inconsistencies.

Cheers, David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dup_extents_xp2017.patchset
Type: text/x-patch
Size: 41035 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20170504/d112bbd9/dup_extents_xp2017.bin>


More information about the samba-technical mailing list