[Samba] Samba and BTRFS server-side copy

Saint Germain saintger at gmail.com
Sat Nov 5 11:00:52 UTC 2016


On Thu, 3 Nov 2016 21:08:31 +0100, Saint Germain <saintger at gmail.com>
wrote :

> On Thu, 3 Nov 2016 20:41:14 +0100, Achim Gottinger via samba
> <samba at lists.samba.org> wrote :
> 
> > Am 02.11.2016 um 20:32 schrieb Saint Germain via samba:
> > > On Wed, 2 Nov 2016 16:45:31 +0100, Achim Gottinger via samba
> > > <samba at lists.samba.org> wrote :
> > >> Am 02.11.2016 um 15:50 schrieb Saint Germain via samba:
> > >>> On Wed, 2 Nov 2016 14:44:05 +0100, Achim Gottinger via samba
> > >>> <samba at lists.samba.org> wrote :
> > >>>>>>> I just tried and when I limit samba to SMB2 connections (in
> > >>>>>>> smb.conf), Nautilus/gvfs cannot connect (it doesn't even see
> > >>>>>>> the share).
> > >>>>>>>
> > >>>>>>> I also tried starting a discussion on the topic yesterday:
> > >>>>>>> https://mail.gnome.org/archives/gvfs-list/2016-October/msg00000.html
> > >>>>>>>
> > >>>>>>> It seems that Ross Lagerwall started working on the topic a
> > >>>>>>> while ago, but I don't know when/how the code will be
> > >>>>>>> included.
> > >>>>>>>
> > >>>>>>> Thanks for your help !
> > >>>>>>>
> > >>>>>> gvfs connects with smb2 here with these settings on the
> > >>>>>> client's smb.conf
> > >>>>>>
> > >>>>>> client max protocol = SMB2_10
> > >>>>>> client min protocol = SMB2_10
> > >>>>>>
> > >>>>> With these lines, my gvfs connect but with protocol SMB1
> > >>>>> (confirmed with smbstatus -b).
> > >>>>>
> > >>>>> Which version of samba on the server are you using ?
> > >>>>> Which version of libsmbclient and gvfs on the client are you
> > >>>>> using ?
> > >>>> server: debian wheezy, serner-samba 4.2.14-11
> > >>>> client: debian jessie (backports), samba 4.2.10, gvfs 1.22.2-1
> > >>>>
> > >>>> smbstatus -b shows i'm connected with SMB2_10
> > >>>>
> > >>>> On the server I have no protocol settings only on the client
> > >>>> only above two lines are needed on an otherwise default
> > >>>> smb.conf. It's working since debian updated to samba 4.2, that
> > >>>> time i did not use jessie-backports packages on the client
> > >>>> back then.
> > >>>>
> > >>> Hum that's really strange. I've downgraded my smblient to be
> > >>> sure:
> > >>> - server: Debian Stable + samba 4.2.10 + kernel 4.7 (amd64)
> > >>> - client: Debian Stable + smbclient 4.2.10 + kernel 4.7 (amd64)
> > >>> + gvfs 1.22.2-1
> > >>>
> > >>> With only these lines in /etc/samba/smb.conf:
> > >>> client max protocol = SMB2_10
> > >>> client min protocol = SMB2_10
> > >> This must be set on the clients smb.conf not on the server!
> > > Ah ! I didn't understood that.
> > > Why is "server min protocol" not enough when set on the server ?
> > >
> > > Anyway I tried with "client min protocol = SMB2_10" on the client,
> > > and indeed the connection is now SMB2_10.
> > > However it is not possible to copy anymore through Nautilus
> > > ("Invalid argument" error) or through command-line (also "Invalid
> > > argument").
> > >
> > > No problem at all when the protocol is NT1 and there is nothing at
> > > all in the logs (syslog = 10 on both server and client smb.conf).
> > >
> > > Thanks for the help !
> > >
> > gvfs never worked flawless here. I can copy files from amd to the
> > server but if i try to copy an folder with files it error.
> > With libreoffice i always have to safe an file under an different
> > name because it does not let me overwrite on an gvfs samba share.
> > Afterwards i can delete the old file and rename the new file without
> > errors. But it makes no difference if i use smb1 or smb2 here.
> 
> Indeed with SMB2 protocol, I can copy a file but not directory with
> files.
> However with scopy, the copy is instantaneous (thanks to BTRFS
> reflink), but with Nautilus/Gvfs the copy is very slow (it is perhaps
> not even server-side).
> If you have a samba server with BTRFS, can you confirm that ?
> 

I got the answer on the gvfs mailing-list:
- gvfs 1.30.1.1-1 solved the problem of copying a directory
- gvfs (and other linux softwares) doesn't call SMBC_splice_ctx (lin
  libsmbclient) so there is no chance of a server-side copy



More information about the samba mailing list