aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2022-10-27 16:45:16 -0400
committerDavid Teigland <teigland@redhat.com>2022-11-08 12:59:41 -0600
commit85839f27b17ddebe21d36a174050420783824ed3 (patch)
treed6d508f3f5e74c1146b0eafa26b498d6fe720417 /fs/dlm
parente01c4b7bd41522ae0299c07e2ee8c721fee02595 (diff)
downloadlinux-85839f27b17ddebe21d36a174050420783824ed3.tar.gz
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: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm')
-rw-r--r--fs/dlm/ast.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dlm/ast.c b/fs/dlm/ast.c
index d60a8d8f109df..6e07c151ad288 100644
--- a/fs/dlm/ast.c
+++ b/fs/dlm/ast.c
@@ -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 @@ more:
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;