diff options
author | David Teigland <teigland@redhat.com> | 2007-05-18 09:03:35 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2007-07-09 08:22:42 +0100 |
commit | 8b0e7b2cf35aa827ed5efb508c1879481b970496 (patch) | |
tree | c1304a8b65cd0e1b474623903ba0907bc209f439 /fs/dlm/member.c | |
parent | 79d72b54483bf81b9f9de0dd555c710ac7267986 (diff) | |
download | linux-8b0e7b2cf35aa827ed5efb508c1879481b970496.tar.gz linux-8b0e7b2cf35aa827ed5efb508c1879481b970496.tar.bz2 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.c | 6 |
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; |