Linux CIFS filesystem development
 help / color / mirror / Atom feed
* New ioctl
@ 2015-01-27 18:23 Steve French
  2015-01-28 18:22 ` New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE David Disseldorp
  0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2015-01-27 18:23 UTC (permalink / raw)
  To: samba-technical,
	linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	David Disseldorp

Has anyone tried the new ioctl (MS-FSCC) defined in the most recent
update.  See section 2.3.7

Looks interesting for a new variant of copy offload

"A new File System Control (FSCTL) has been added to support the new
FSCTL_DUPLICATE_EXTENTS_TO_FILE operation in [MS-FSA]."

-- 
Thanks,

Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE
  2015-01-27 18:23 New ioctl Steve French
@ 2015-01-28 18:22 ` David Disseldorp
       [not found]   ` <20150128192203.5dbb06ea-TzLh5lQYVSQb1SvskN2V4Q@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: David Disseldorp @ 2015-01-28 18:22 UTC (permalink / raw)
  To: Steve French
  Cc: linux-cifs@vger.kernel.org, samba-technical, David Disseldorp

On Tue, 27 Jan 2015 12:23:55 -0600, Steve French wrote:

> Has anyone tried the new ioctl (MS-FSCC) defined in the most recent
> update.  See section 2.3.7
> 
> Looks interesting for a new variant of copy offload
> 
> "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.
- It takes a regular file handle for the source, instead of requiring a
  preliminary SRV_REQUEST_RESUME_KEY exchange.
- Only a single chunk can be duplicated per request, rather than
  multiple.
- Overlapping ranges are not supported.
- The length field is 64-bits wide, instead of 32.
- The response only carries the status code. This may imply there is no
  server-advertised limit to the length of the request, further
  indicating that it's COW based.

Time to start poking around with smbtorture :)

Cheers, David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE
       [not found]   ` <20150128192203.5dbb06ea-TzLh5lQYVSQb1SvskN2V4Q@public.gmane.org>
@ 2015-02-09 23:51     ` David Disseldorp
       [not found]       ` <20150210005120.6936991d-k1XZOR0ctBLN0uC3ymp8PA@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: David Disseldorp @ 2015-02-09 23:51 UTC (permalink / raw)
  To: Steve French
  Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	samba-technical, David Disseldorp

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.

Cheers, David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE
       [not found]       ` <20150210005120.6936991d-k1XZOR0ctBLN0uC3ymp8PA@public.gmane.org>
@ 2015-02-10  7:14         ` Steve French
       [not found]           ` <CAH2r5mv4qnMAS4T38C1OB8sWi6MHqcD2i2zv7KbbtUYuGg=vOw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2015-02-10  7:14 UTC (permalink / raw)
  To: David Disseldorp
  Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	samba-technical, David Disseldorp, linux-fsdevel

On Mon, Feb 9, 2015 at 5:51 PM, David Disseldorp <ddiss-l3A5Bk7waGM@public.gmane.org> 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.


-- 
Thanks,

Steve

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE
       [not found]           ` <CAH2r5mv4qnMAS4T38C1OB8sWi6MHqcD2i2zv7KbbtUYuGg=vOw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2015-02-10 21:35             ` Tom Talpey
  0 siblings, 0 replies; 5+ messages in thread
From: Tom Talpey @ 2015-02-10 21:35 UTC (permalink / raw)
  To: Steve French, David Disseldorp
  Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	samba-technical, David Disseldorp, linux-fsdevel

> -----Original Message-----
> From: linux-cifs-owner@vger.kernel.org [mailto:linux-cifs-
> owner@vger.kernel.org] On Behalf Of Steve French
> Sent: Tuesday, February 10, 2015 2:14 AM
> To: David Disseldorp
> Cc: linux-cifs@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@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. 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-02-10 21:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-27 18:23 New ioctl Steve French
2015-01-28 18:22 ` New ioctl - FSCTL_DUPLICATE_EXTENTS_TO_FILE David Disseldorp
     [not found]   ` <20150128192203.5dbb06ea-TzLh5lQYVSQb1SvskN2V4Q@public.gmane.org>
2015-02-09 23:51     ` David Disseldorp
     [not found]       ` <20150210005120.6936991d-k1XZOR0ctBLN0uC3ymp8PA@public.gmane.org>
2015-02-10  7:14         ` Steve French
     [not found]           ` <CAH2r5mv4qnMAS4T38C1OB8sWi6MHqcD2i2zv7KbbtUYuGg=vOw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-02-10 21:35             ` Tom Talpey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox