Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 38783
b: refs/heads/master
c: f6db1b8
h: refs/heads/master
i:
  38781: e6c81d6
  38779: dfe268e
  38775: e81eb39
  38767: 7c93faf
  38751: a6c440e
  38719: 6b1cf44
  38655: 7b8362b
v: v3
  • Loading branch information
David Teigland authored and Steven Whitehouse committed Aug 9, 2006
1 parent 529efd0 commit 6d0c230
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5ff519112af6a6dab0ad7f6b0b0a2dcfff273e5b
refs/heads/master: f6db1b8e724b071d144055b48da3827ce26dba1c
24 changes: 19 additions & 5 deletions trunk/fs/dlm/member.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,22 @@ static void make_member_array(struct dlm_ls *ls)

/* send a status request to all members just to establish comms connections */

static void ping_members(struct dlm_ls *ls)
static int ping_members(struct dlm_ls *ls)
{
struct dlm_member *memb;
list_for_each_entry(memb, &ls->ls_nodes, list)
dlm_rcom_status(ls, memb->nodeid);
int error = 0;

list_for_each_entry(memb, &ls->ls_nodes, list) {
error = dlm_recovery_stopped(ls);
if (error)
break;
error = dlm_rcom_status(ls, memb->nodeid);
if (error)
break;
}
if (error)
log_debug(ls, "ping_members aborted %d", error);
return error;
}

int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out)
Expand Down Expand Up @@ -212,10 +223,13 @@ int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out)
dlm_set_recover_status(ls, DLM_RS_NODES);
*neg_out = neg;

ping_members(ls);
error = ping_members(ls);
if (error)
goto out;

error = dlm_recover_members_wait(ls);
log_debug(ls, "total members %d", ls->ls_num_nodes);
out:
log_debug(ls, "total members %d error %d", ls->ls_num_nodes, error);
return error;
}

Expand Down
1 change: 1 addition & 0 deletions trunk/fs/dlm/recoverd.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ void dlm_recoverd_stop(struct dlm_ls *ls)

void dlm_recoverd_suspend(struct dlm_ls *ls)
{
wake_up(&ls->ls_wait_general);
mutex_lock(&ls->ls_recoverd_active);
}

Expand Down

0 comments on commit 6d0c230

Please sign in to comment.