summaryrefslogtreecommitdiffstats
path: root/fs/dlm/member.c
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2007-05-18 09:03:35 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 08:22:42 +0100
commit8b0e7b2cf35aa827ed5efb508c1879481b970496 (patch)
treec1304a8b65cd0e1b474623903ba0907bc209f439 /fs/dlm/member.c
parent79d72b54483bf81b9f9de0dd555c710ac7267986 (diff)
[DLM] wait for config check during join [6/6]
Joining the lockspace should wait for the initial round of inter-node config checks to complete before returning. This way, if there's a configuration mismatch between the joining node and the existing nodes, the join can fail and return an error to the application. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/dlm/member.c')
-rw-r--r--fs/dlm/member.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/dlm/member.c b/fs/dlm/member.c
index f08faec3d85..073599dced2 100644
--- a/fs/dlm/member.c
+++ b/fs/dlm/member.c
@@ -233,6 +233,12 @@ int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out)
*neg_out = neg;
error = ping_members(ls);
+ if (!error || error == -EPROTO) {
+ /* new_lockspace() may be waiting to know if the config
+ is good or bad */
+ ls->ls_members_result = error;
+ complete(&ls->ls_members_done);
+ }
if (error)
goto out;