[PATCH} Implement SMB3/SMB3 in smbclient and smbcacls (and generic client library).

Jeremy Allison jra at samba.org
Tue Aug 13 12:36:33 MDT 2013


On Tue, Aug 13, 2013 at 08:30:47PM +0200, Stefan (metze) Metzmacher wrote:
> Am 13.08.2013 20:09, schrieb Jeremy Allison:
> > On Tue, Aug 13, 2013 at 07:27:43PM +0200, Stefan (metze) Metzmacher wrote:
> >>>
> >>> Here's my current patchset (from my master3-jra branch)
> >>>
> >>> I've rewritten cli_pull/push to dynamically use up to 256 requests.
> >>> The complete set compiles for me, but I haven't done any testing yet.
> >>> (I'm compile each commit later...)
> >>>
> >>> I've marked the commits I've done completely new as "TODO testing ..."
> >>> and some should be reviewed again by you and one maybe squashed after
> >>> your review.
> >>
> >> I've tested put and get with a 35M file
> >>
> >> There was a next = chunk; instead of next = chunk->next; ...
> > 
> > Just a quick comment. Should we just add in the working
> > fix first, then add in the cli_pull()/push() afterwards ?
> 
> I'm not sure I understand what you mean...

Well the fix as I sent works successfully with the
existing code for cli_pull()/push().

So all it does is adds SMB2 support on top of the
existing (working) code for reading/writing files.

> I tried to do all fixes before adding SMB2 support,
> that way the SMB2 addition doesn't do any functional changing directly
> after it was added,
> which would be confusing.

But you re-wrote how reading/writing files works,
which is confusing on top of the SMB2 changes.

I'd rather see the SMB2 changes go in, then
the changes to reading/writing files. That
seems much clearer to me.

Especially as with your new code reading files
is now broken :-(. Example with my test file of
3695179776 byes against Windows Server 2012:

bin/smbclient //172.27.69.20/temp -mSMB3  --send-buffer=0
Domain=[WIN-4QBFHKK7F2P] OS=[] Server=[]
smb: \> get en_windows_server_2012_x64_dvd_915478.iso 
parallel_read returned NT_STATUS_CONNECTION_DISCONNECTED

Which didn't happen with the earlier change (without
the re-written cli_pull()/push()).

Yes I know this is just a bug with the new cli_pull/push
code (which we'll have to track down and fix) but
wouldn't it be easier to have working SMB2 read/write,
then debug the changed cli_pull/push code afterwards ?

Jeremy


More information about the samba-technical mailing list