ctdb_freeze: extend db priority hack to cover serverid.tdb deadlock.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 1 Jul 2010 11:46:55 +0000 (21:46 +1000)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 1 Jul 2010 11:46:55 +0000 (21:46 +1000)
commitdfdaa446cf256854ff6d267dceeb86fbee8bb188
tree68cf894080042142de88c1ac8113d95bfbd68666
parent8f17731dea4287d4f9b21dc58c1bdf26c8a0e628
ctdb_freeze: extend db priority hack to cover serverid.tdb deadlock.

We discovered that recent smbd locks the serverid tdb while
holding a lock on another tdb (locking.tdb):
  7: POSIX  ADVISORY  WRITE smbd-2224318 locking.tdb.0 10600 10600
  22: -> POSIX  ADVISORY  READ  smbd-2224318 serverid.tdb.0 26580 26580

The result is a deadlock against the ctdb_freeze code called for
recovery.  We extend the "notify" workaround to this case, too.

BZ:65158
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
server/ctdb_freeze.c