diff options
author | David Teigland <teigland@redhat.com> | 2008-03-18 14:22:11 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2008-04-21 11:18:01 -0500 |
commit | d44e0fc704143624b3e88fbf8fbcfda7a83fd299 (patch) | |
tree | af6c5a5c6ae179051caf725e46f11ff8e2f0f7c8 /fs/dlm/config.h | |
parent | 761b9d3ffc953c24ceb55d8e12ff7e02b17e0484 (diff) | |
download | op-kernel-dev-d44e0fc704143624b3e88fbf8fbcfda7a83fd299.zip op-kernel-dev-d44e0fc704143624b3e88fbf8fbcfda7a83fd299.tar.gz |
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/config.h')
-rw-r--r-- | fs/dlm/config.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/dlm/config.h b/fs/dlm/config.h index a3170fe..4f1d6fc 100644 --- a/fs/dlm/config.h +++ b/fs/dlm/config.h @@ -35,7 +35,8 @@ extern struct dlm_config_info dlm_config; int dlm_config_init(void); void dlm_config_exit(void); int dlm_node_weight(char *lsname, int nodeid); -int dlm_nodeid_list(char *lsname, int **ids_out); +int dlm_nodeid_list(char *lsname, int **ids_out, int *ids_count_out, + int **new_out, int *new_count_out); int dlm_nodeid_to_addr(int nodeid, struct sockaddr_storage *addr); int dlm_addr_to_nodeid(struct sockaddr_storage *addr, int *nodeid); int dlm_our_nodeid(void); |