diff options
author | David Teigland <teigland@redhat.com> | 2006-08-23 17:05:44 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-08-24 09:38:19 -0400 |
commit | 233e515f4062f99569c24f00ad7429a860b23db4 (patch) | |
tree | d2682d2a41f0f1e4ee3216dd661e1df3e276993a /fs/dlm/recover.c | |
parent | f5888750aad219bec42f3f28354eb230d1a47b89 (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>
Diffstat (limited to 'fs/dlm/recover.c')
-rw-r--r-- | fs/dlm/recover.c | 11 |
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 | ||
476 | static 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 | |||
485 | static int recover_locks(struct dlm_rsb *r) | 476 | static 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 | ||