New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE

Tom Talpey ttalpey at microsoft.com
Tue Feb 10 14:35:06 MST 2015


> -----Original Message-----
> From: linux-cifs-owner at vger.kernel.org [mailto:linux-cifs-
> owner at vger.kernel.org] On Behalf Of Steve French
> Sent: Tuesday, February 10, 2015 2:14 AM
> To: David Disseldorp
> Cc: linux-cifs at vger.kernel.org; samba-technical; David Disseldorp; linux-
> fsdevel
> Subject: Re: New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE
> 
> On Mon, Feb 9, 2015 at 5:51 PM, David Disseldorp <ddiss at suse.de> wrote:
> > On Wed, 28 Jan 2015 19:22:03 +0100, David Disseldorp wrote:
> >
> >> > "A new File System Control (FSCTL) has been added to support the new
> >> > FSCTL_DUPLICATE_EXTENTS_TO_FILE operation in [MS-FSA]."
> >>
> >> I haven't played with it yet, but from the [MS-FCC] 20150119 preview
> >> doc it looks very similar to copy-chunk, with a few small differences:
> >> - It's only supported on ReFS, which may indicate that it's implemented
> >>   using COW clones.
> >
> > The [MS-FSA] draft can be found at:
> > http://download.microsoft.com/download/C/6/C/C6C3C6F1-E84A-44EF-
> 82A9-49BD3AAD8F58/Windows/%5BMS-FSA-Diff%5D.pdf
> >
> > It pretty much confirms that it's COW based:
> > "The purpose of this operation is to make it look like a copy of a
> >  region from the source stream to the target stream has occurred when
> >  in reality no data is actually copied. This operation modifies the
> >  target stream’s extent list such that, the same clusters are pointed
> >  to by both the source and target streams’ extent lists for the region
> >  being copied."
> >
> > @Steve, it looks like the perfect candidate for cp --reflink mapping on
> > the client side.
> 
> agreed.  I will take a look against Windows 10 current beta to see if
> it accepts or rejects it.

Steve, the server in Windows 10 Technical Preview will reject it. The document was
updated in expectation of supporting it remotely, however due to testing, the code
is not whitelisted. You can experiment with local calls, but by default the SMB3 server
rejects the fsctl - for now.

Tom. 


More information about the samba-technical mailing list