Rev 157: avoid a deadlock the fetch_lock code. The deadlock could happen when in http://samba.org/~tridge/ctdb

tridge at samba.org tridge at samba.org
Thu Apr 19 00:03:21 GMT 2007


------------------------------------------------------------
revno: 157
revision-id: tridge at samba.org-20070419000320-386ec684420aa0f6
parent: tridge at samba.org-20070418235823-f4d1ef1f0f3ac9d6
committer: Andrew Tridgell <tridge at samba.org>
branch nick: tridge
timestamp: Thu 2007-04-19 10:03:20 +1000
message:
  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.
modified:
  .bzrignore                     bzrignore-20061117235536-slq8jlz2b5161dfm-1
  common/ctdb.c                  ctdb.c-20061127094323-t50f58d65iaao5of-2
  common/ctdb_call.c             ctdb_call.c-20061128065342-to93h6eejj5kon81-1
  common/ctdb_client.c           ctdb_client.c-20070411010216-3kd8v37k61steeya-1
  common/ctdb_daemon.c           ctdb_daemon.c-20070409200331-3el1kqgdb9m4ib0g-1
  include/ctdb_private.h         ctdb_private.h-20061117234101-o3qt14umlg9en8z0-13

Diff too large for email (376, the limit is 200).


More information about the samba-cvs mailing list