RFC: dbwrap_ctdb and empty vs deleted records
obnox at samba.org
Fri Jul 22 14:42:35 UTC 2016
On 2016-07-22 at 14:59 +0200, Ralph Böhme wrote:
> On Fri, Jul 22, 2016 at 02:45:51PM +0200, Volker Lendecke wrote:
> > On Wed, Jul 20, 2016 at 03:14:02PM +0200, Ralph Böhme wrote:
> > > On Mon, Jul 04, 2016 at 01:43:00PM +0200, Ralph Boehme wrote:
> > > > I *think* my patch might be a proper fix without the risk of a
> > > > deadlock, because it *won't* call out to ctdb but return ENOENT (im
> > > > terms of NTSTATUS).
> > > >
> > > > I'd highly appreciate some feedback. In case we don't want to take the
> > > > risk of this change, I'll prepare a patch for parse_share_modes() and
> > > > callers.
> > >
> > > *ping*
> > I like your patch. Samba can live without empty records, and your patch
> > solves this really bad problem. However, and I don't want to block it just
> > for that, reading 925625b52886d40b50fc's commit message this deadlock
> > came as a bad surprise. Do we have sufficient information to reproduce
> > that deadlock, just to make sure with your patch this does not happen?
> yes, that would be really helpfull if anyone who worked on
> 925625b52886d40b50fc would remember how this could be reproduced.
> Michael? Björn?
I have to admit that I don't fully remember.
Well, it's 2.5 years ago... ;-)
The example in the commit msg is from brlock code.
We'd need to lock a file, release it, have an
empty brl record, and before it gets vacuumed
call do_lock on the file again.
So possibly by a long vacuum interval and a specially
crafted sequence of file ops...
Cheers - Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 181 bytes
Desc: not available
More information about the samba-technical