Work on SMB3 persistent handles
obnox at samba.org
Tue Oct 24 15:29:16 UTC 2017
Note (stating the hopefully obvious):
I did not share that patchset to compete with Chris' work
but in the hope to be helpful in his progress!
Chris, feel free to use / merge / discard as you fee fit.
(I'd guess Metze would agree).
Also I'd be interested to see any WIP patches of yours,
no matter how incomplete.
Cheers - Michael
On 2017-10-24 at 01:11 +0200, Michael Adam via samba-technical wrote:
> On 2017-10-24 at 00:58 +0200, Michael Adam via samba-technical wrote:
> > On 2017-10-23 at 13:17 -0500, Christopher R. Hertel wrote:
> > > Michael: Thanks for calling my attention to this thread.
> > >
> > > You wrote:
> > > > Maybe, if appropriate, someone could summarize the latest
> > > > state of the discussions/design/prototyping...
> > >
> > > I can summarize my own status:
> > >
> > > * I have done the work necessary to negotiate Persistent Handle support in
> > > the Session Setup. Similarly, I have added per-share configuration to
> > > support Continuous Availability in the Tree Connect. Both of these
> > > additions work nicely.
> > >
> > > * Internally to Samba, I have added fields and flags that identify a share
> > > as being CA, and a file handle as being Persistent.
> > >
> > > Those are basic steps needed to negotiate Continuous Availability on the
> > > wire, and to signal internally that CA is in use.
> > >
> > > In theory, given the way that Durable Handle data is stored, we *should* be
> > > able to pass Persistent Handle tests in this configuration. As long as the
> > > Samba node that owns the handle does not actually go down (that is, as long
> > > as the test is performed by dropping the network connection), the data
> > > should be maintained and we should be able to re-establish the Persistent
> > > Handle.
> > >
> > > I'm not quite there yet. I am not yet sending back the correct blob
> > > following the recovery. This *should* be an easy fix.
> > Since we've been talking about this a bit now, I've revived the
> > patches that Metze and I had in our WIP branches since 2012, have
> > rebased them on top of current master and made them work again.
> > It's mainly the protocol boilerplate code. I.e. there is no
> > persistence of the DBs or records, also the subtleties of how
> > persistent handles are different from durable handles in semantic
> > are not all covered yet, in particular no calling of
> > SMB_VFS_DURABLE_DISCONNECT() under other circumstances than
> > before, but for a start it does survive our (smbtorture's)
> > durable-v2-open test (against nt4_dc) including the persistent
> > open tests. Nothing fancy yet but just for comparing.
> > https://git.samba.org/?p=obnox/samba/samba-obnox.git;a=shortlog;h=refs/heads/persistent-wip
> > Also attached for convenience.
> Warning... I just noticed that this was not rebased to
> the latest state of master but a few days back.
> So it does (of course) not cleanly rebase on top of
> Ralph's refactoring of smbd_smb2_create_send(). ;-)
> Will look into it...
> Cheers - Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 163 bytes
Desc: not available
More information about the samba-technical