ctdbd: fix lock held on error ("ctdb_req_dmaster from non-master.")
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 21 Mar 2011 02:33:01 +0000 (13:03 +1030)
committerRonnie Sahlberg <sahlberg@lenovo-laptop.(none)>
Mon, 21 Mar 2011 02:57:35 +0000 (13:57 +1100)
commit24d7910be90df164255b7181ee2e2a086b04f396
tree3cbaad7d4072e9020adefb4db8254d7008f131c8
parentef0f15d14663b757fcfd05e4365e5a364659a812
ctdbd: fix lock held on error ("ctdb_req_dmaster from non-")

We should release the lock on the record before returning; otherwise the
recovery (which tries to freeze the database) will fail.  Symptoms are as
follows:

ctdbd: pnn 15 dmaster request for new-dmaster 19 from non-master 1 real-dmaster=5 key f049c3c8 dbid 0x6cf2837d gen=1148812532 curgen=1148812532 c->rsn=2 header.rsn=15 reqid=2147483585 keyval=0x4f464e49
ctdbd: ctdb_req_dmaster from non-master. Force a recovery.
...
ctdbd: freeze_lock-1:server/ctdb_freeze.c:55 Failed to lock database registry.tdb

CQ:1022545
server/ctdb_call.c