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 13:09:59 +0000 (23:09 +1000)
commitd658264c2b507a09e54fc296488f892e6be78d84
treef562ecbfc0bd7a940f3e1d885f287ef9369819c6
parent3cd449cf06faba7ba38939f4e5727723b7a0141a
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