aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm/dlm_internal.h
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2008-03-18 15:22:11 -0400
committerDavid Teigland <teigland@redhat.com>2008-04-21 12:18:01 -0400
commitd44e0fc704143624b3e88fbf8fbcfda7a83fd299 (patch)
treeaf6c5a5c6ae179051caf725e46f11ff8e2f0f7c8 /fs/dlm/dlm_internal.h
parent761b9d3ffc953c24ceb55d8e12ff7e02b17e0484 (diff)
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>
Diffstat (limited to 'fs/dlm/dlm_internal.h')
-rw-r--r--fs/dlm/dlm_internal.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h
index d30ea8b433a2..c70c8e58358f 100644
--- a/fs/dlm/dlm_internal.h
+++ b/fs/dlm/dlm_internal.h
@@ -133,8 +133,10 @@ struct dlm_member {
133 133
134struct dlm_recover { 134struct dlm_recover {
135 struct list_head list; 135 struct list_head list;
136 int *nodeids; 136 int *nodeids; /* nodeids of all members */
137 int node_count; 137 int node_count;
138 int *new; /* nodeids of new members */
139 int new_count;
138 uint64_t seq; 140 uint64_t seq;
139}; 141};
140 142