The loop through all waiting locks in recover_waiters can potentially be long, so we should schedule explicitly. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
@@ -3193,6 +3193,7 @@ void dlm_recover_waiters_pre(struct dlm_ls *ls)
log_error(ls, "invalid lkb wait_type %d",
lkb->lkb_wait_type);
}
+ schedule();
mutex_unlock(&ls->ls_waiters_mutex);