Commit 233e515f authored by David Teigland's avatar David Teigland Committed by Steven Whitehouse
Browse files

[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: default avatarDavid Teigland <teigland@redhat.com>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent f5888750
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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););