summaryrefslogtreecommitdiffstats
path: root/fs/dlm/member.c
diff options
context:
space:
mode:
authorDavid Teigland2007-05-18 16:03:35 +0200
committerSteven Whitehouse2007-07-09 09:22:42 +0200
commit8b0e7b2cf35aa827ed5efb508c1879481b970496 (patch)
treec1304a8b65cd0e1b474623903ba0907bc209f439 /fs/dlm/member.c
parent[DLM] fix new_lockspace error exit [5/6] (diff)
downloadkernel-qcow2-linux-8b0e7b2cf35aa827ed5efb508c1879481b970496.tar.gz
kernel-qcow2-linux-8b0e7b2cf35aa827ed5efb508c1879481b970496.tar.xz
kernel-qcow2-linux-8b0e7b2cf35aa827ed5efb508c1879481b970496.zip
[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 f08faec3d854..073599dced2a 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;