avoid a deadlock the fetch_lock code. The deadlock could happen when
authorAndrew Tridgell <tridge@samba.org>
Thu, 19 Apr 2007 00:03:20 +0000 (10:03 +1000)
committerAndrew Tridgell <tridge@samba.org>
Thu, 19 Apr 2007 00:03:20 +0000 (10:03 +1000)
commit737e5a1253cb048222c595a474aff71c99fc554f
treeb857c180125ed4c28a9777e113017c16542c6886
parentac47d7b4eb79597da1358da21f10e634cdc9dd2e
avoid a deadlock the fetch_lock code. The deadlock could happen when
a client held the chainlock, and the daemon received a dmaster reply
at the same time. The daemon would not be able to process the dmaster
reply, due to the lock, but the fetch lock cannot make progres until
the dmaster reply is processed.

The solution is to not hold the lock in the client while talking to
the daemon. The client has to retry the lock after the record has
migrated. This means that forward progress is not guaranteed. We'll
have to see if that matters in practice.
.bzrignore
common/ctdb.c
common/ctdb_call.c
common/ctdb_client.c
common/ctdb_daemon.c
include/ctdb_private.h