From: David Teigland Date: Wed, 23 Aug 2006 21:05:44 +0000 (-0500) Subject: [DLM] recover_locks not clearing NEW_MASTER flag X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=233e515f4062f99569c24f00ad7429a860b23db4;p=deliverable%2Flinux.git [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 Signed-off-by: Steven Whitehouse --- 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) return error; } -static int all_queues_empty(struct dlm_rsb *r) -{ - if (!list_empty(&r->res_grantqueue) || - !list_empty(&r->res_convertqueue) || - !list_empty(&r->res_waitqueue)) - return 0; - return 1; -} - static int recover_locks(struct dlm_rsb *r) { int error = 0; lock_rsb(r); - if (all_queues_empty(r)) - goto out; DLM_ASSERT(!r->res_recover_locks_count, dlm_dump_rsb(r););