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>
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););