ocfs2_dlm: disallow a domain join if node maps mismatch
authorSrinivas Eeda <srinivas.eeda@oracle.com>
Mon, 29 Jan 2007 23:31:35 +0000 (15:31 -0800)
committerMark Fasheh <mark.fasheh@oracle.com>
Wed, 7 Feb 2007 20:09:14 +0000 (12:09 -0800)
commit1faf289454b9eeb6e463da3eee47f7009668370d
treefe77643771a985a20c3782fb2a952cf9c05937a5
parentf3f854648de64c4b6f13f6f13113bc9525c621e5
ocfs2_dlm: disallow a domain join if node maps mismatch

There is a small window where a joining node may not see the node(s) that
just died but are still part of the domain. To fix this, we must disallow
join requests if the joining node has a different node map.

A new field node_map is added to dlm_query_join_request to send the current
nodes nodemap along with join request. On the receiving end the nodes that
are part of the cluster verifies if this new node sees all the nodes that
are still part of the cluster. They disallow the join if the maps mismatch.

Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/cluster/tcp_internal.h
fs/ocfs2/dlm/dlmcommon.h
fs/ocfs2/dlm/dlmdomain.c