aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2006-08-23 17:05:44 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-08-24 09:38:19 -0400
commit233e515f4062f99569c24f00ad7429a860b23db4 (patch)
treed2682d2a41f0f1e4ee3216dd661e1df3e276993a
parentf5888750aad219bec42f3f28354eb230d1a47b89 (diff)
[DLM] recover_locks not clearing NEW_MASTER flag
When there are no locks on a resource, the recover_locks() function fails to clear the NEW_MASTER flag by going directly to out, missing the line that clears the flag. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/dlm/recover.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/fs/dlm/recover.c b/fs/dlm/recover.c
index 528a2a0fa329..a5e6d184872e 100644
--- a/fs/dlm/recover.c
+++ b/fs/dlm/recover.c
@@ -473,22 +473,11 @@ static int recover_locks_queue(struct dlm_rsb *r, struct list_head *head)
473 return error; 473 return error;
474} 474}
475 475
476static int all_queues_empty(struct dlm_rsb *r)
477{
478 if (!list_empty(&r->res_grantqueue) ||
479 !list_empty(&r->res_convertqueue) ||
480 !list_empty(&r->res_waitqueue))
481 return 0;
482 return 1;
483}
484
485static int recover_locks(struct dlm_rsb *r) 476static int recover_locks(struct dlm_rsb *r)
486{ 477{
487 int error = 0; 478 int error = 0;
488 479
489 lock_rsb(r); 480 lock_rsb(r);
490 if (all_queues_empty(r))
491 goto out;
492 481
493 DLM_ASSERT(!r->res_recover_locks_count, dlm_dump_rsb(r);); 482 DLM_ASSERT(!r->res_recover_locks_count, dlm_dump_rsb(r););
494 483