Commit 85839f27 authored by Alexander Aring's avatar Alexander Aring Committed by David Teigland
Browse files

fs: dlm: let dlm_add_cb queue work after resume only



We should allow dlm_add_cb() to call queue_work() only after the
recovery queued pending for delayed lkbs. This patch will move the
switch LSFL_CB_DELAY after the delayed lkb work was processed.

Signed-off-by: default avatarAlexander Aring <aahringo@redhat.com>
Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
parent e01c4b7b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -308,8 +308,6 @@ void dlm_callback_resume(struct dlm_ls *ls)
	if (!ls->ls_callback_wq)
		return;

	clear_bit(LSFL_CB_DELAY, &ls->ls_flags);

more:
	mutex_lock(&ls->ls_cb_mutex);
	list_for_each_entry_safe(lkb, safe, &ls->ls_cb_delay, lkb_cb_list) {
@@ -320,6 +318,8 @@ void dlm_callback_resume(struct dlm_ls *ls)
			break;
	}
	empty = list_empty(&ls->ls_cb_delay);
	if (empty)
		clear_bit(LSFL_CB_DELAY, &ls->ls_flags);
	mutex_unlock(&ls->ls_cb_mutex);

	sum += count;