mirror of https://gitee.com/openkylin/linux.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 <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
f5888750aa
commit
233e515f40
|
@ -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););
|
||||
|
||||
|
|
Loading…
Reference in New Issue