[Samba] Samba and BTRFS server-side copy

Jeremy Allison jra at samba.org
Thu Oct 27 21:50:48 UTC 2016


On Thu, Oct 27, 2016 at 11:27:29PM +0200, Saint Germain via samba wrote:
> Hello,
> 
> I would like to test Samba server-side copy with BTRFS:
> https://wiki.samba.org/index.php/Server-Side_Copy#Btrfs_Enhanced_Server-Side_Copy_Offload
> 
> However it is not clear which server/client configuration I should use.
> 
> As far as I understand on the server-side, I should have at least Samba
> 4.1 on a BTRFS filesystem (with vfs objects = btrfs in the share).
> 
> But on the client side, what can I use ?
> 
> There is a warning on the page that:
> "the client's FSCTL_SRV_COPYCHUNK server-side copy request must be
> Btrfs filesystem aligned"
> 
> Digging a little more, I found some explanations here:
> https://lists.samba.org/archive/samba-technical/2013-September/095135.html
> 
> > with Samba and Btrfs the request latency will be
> > heavily effected by whether the FSCTL_SRV_COPYCHUNK wire request byte
> > offsets and lengths align to the Btrfs sector-size (4K by default
> > IIRC).
> > If they do align, then each chunk in the request can be mapped to a
> > BTRFS_IOC_CLONE_RANGE ioctl. Otherwise, we need to fall back to a
> > server-side local read/write.
> > 
> > We should be able to provide underlying filesystem alignment
> > requirements to SMB clients via the new FileFSSectorSizeInformation
> > ioctl, but it's not currently supported by Samba.
> 
> So which client platform (Windows, Mac, Linux) and which client
> software (smb, cifs, etc.) can I use to test this ?

Server-side copy can be requested using smbclient, using
the "scopy" command.

It's a simple:

scopy source dest



More information about the samba mailing list