dlm: recover nodes that are removed and re-added

If a node is removed from a lockspace, and then added back before the
dlm is notified of the removal, the dlm will not detect the removal
and won't clear the old state from the node.  This is fixed by using a
list of added nodes so the membership recovery can detect when a newly
added node is already in the member list.

Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
David Teigland
2008-03-18 14:22:11 -05:00
parent 761b9d3ffc
commit d44e0fc704
5 changed files with 74 additions and 16 deletions

View File

@@ -133,8 +133,10 @@ struct dlm_member {
struct dlm_recover {
struct list_head list;
int *nodeids;
int *nodeids; /* nodeids of all members */
int node_count;
int *new; /* nodeids of new members */
int new_count;
uint64_t seq;
};