mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
fs: dlm: ast do WARN_ON_ONCE() on hotpath
This patch changes the ast hotpath functionality in very unlikely cases that we do WARN_ON_ONCE() instead of WARN_ON() to not spamming the console output if we run into states that it would occur over and over again. Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
parent
9267c85769
commit
740bb8fc10
|
|
@ -161,12 +161,12 @@ void dlm_add_cb(struct dlm_lkb *lkb, uint32_t flags, int mode, int status,
|
|||
spin_unlock(&ls->ls_cb_lock);
|
||||
break;
|
||||
case DLM_ENQUEUE_CALLBACK_FAILURE:
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
break;
|
||||
case DLM_ENQUEUE_CALLBACK_SUCCESS:
|
||||
break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
break;
|
||||
}
|
||||
spin_unlock(&lkb->lkb_cb_lock);
|
||||
|
|
@ -185,7 +185,7 @@ void dlm_callback_work(struct work_struct *work)
|
|||
rv = dlm_dequeue_lkb_callback(lkb, &cb);
|
||||
spin_unlock(&lkb->lkb_cb_lock);
|
||||
|
||||
if (WARN_ON(rv == DLM_DEQUEUE_CALLBACK_EMPTY))
|
||||
if (WARN_ON_ONCE(rv == DLM_DEQUEUE_CALLBACK_EMPTY))
|
||||
goto out;
|
||||
|
||||
for (;;) {
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ void dlm_user_add_ast(struct dlm_lkb *lkb, uint32_t flags, int mode,
|
|||
switch (rv) {
|
||||
case DLM_ENQUEUE_CALLBACK_FAILURE:
|
||||
spin_unlock(&proc->asts_spin);
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
goto out;
|
||||
case DLM_ENQUEUE_CALLBACK_NEED_SCHED:
|
||||
kref_get(&lkb->lkb_ref);
|
||||
|
|
@ -224,7 +224,7 @@ void dlm_user_add_ast(struct dlm_lkb *lkb, uint32_t flags, int mode,
|
|||
case DLM_ENQUEUE_CALLBACK_SUCCESS:
|
||||
break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
break;
|
||||
}
|
||||
spin_unlock(&proc->asts_spin);
|
||||
|
|
@ -880,7 +880,7 @@ static ssize_t device_read(struct file *file, char __user *buf, size_t count,
|
|||
spin_unlock(&proc->asts_spin);
|
||||
/* removes ref for proc->asts, may cause lkb to be freed */
|
||||
dlm_put_lkb(lkb);
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
goto try_another;
|
||||
case DLM_DEQUEUE_CALLBACK_LAST:
|
||||
list_del_init(&lkb->lkb_cb_list);
|
||||
|
|
@ -890,7 +890,7 @@ static ssize_t device_read(struct file *file, char __user *buf, size_t count,
|
|||
case DLM_DEQUEUE_CALLBACK_SUCCESS:
|
||||
break;
|
||||
default:
|
||||
WARN_ON(1);
|
||||
WARN_ON_ONCE(1);
|
||||
break;
|
||||
}
|
||||
spin_unlock(&proc->asts_spin);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user