Lines Matching defs:ls
42 struct dlm_ls *ls = lkb->lkb_resource->res_ls;
53 log_debug(ls, "skip %x bast mode %d for cast mode %d",
71 log_debug(ls, "skip %x add bast mode %d for bast mode %d",
122 struct dlm_ls *ls = lkb->lkb_resource->res_ls;
136 spin_lock(&ls->ls_cb_lock);
137 if (test_bit(LSFL_CB_DELAY, &ls->ls_flags)) {
138 list_add(&lkb->lkb_cb_list, &ls->ls_cb_delay);
140 queue_work(ls->ls_callback_wq, &lkb->lkb_cb_work);
142 spin_unlock(&ls->ls_cb_lock);
159 struct dlm_ls *ls = lkb->lkb_resource->res_ls;
179 trace_dlm_bast(ls, lkb, cb->mode);
186 trace_dlm_ast(ls, lkb);
208 int dlm_callback_start(struct dlm_ls *ls)
210 ls->ls_callback_wq = alloc_workqueue("dlm_callback",
212 if (!ls->ls_callback_wq) {
219 void dlm_callback_stop(struct dlm_ls *ls)
221 if (ls->ls_callback_wq)
222 destroy_workqueue(ls->ls_callback_wq);
225 void dlm_callback_suspend(struct dlm_ls *ls)
227 if (ls->ls_callback_wq) {
228 spin_lock(&ls->ls_cb_lock);
229 set_bit(LSFL_CB_DELAY, &ls->ls_flags);
230 spin_unlock(&ls->ls_cb_lock);
232 flush_workqueue(ls->ls_callback_wq);
238 void dlm_callback_resume(struct dlm_ls *ls)
244 if (!ls->ls_callback_wq)
248 spin_lock(&ls->ls_cb_lock);
249 list_for_each_entry_safe(lkb, safe, &ls->ls_cb_delay, lkb_cb_list) {
251 queue_work(ls->ls_callback_wq, &lkb->lkb_cb_work);
256 empty = list_empty(&ls->ls_cb_delay);
258 clear_bit(LSFL_CB_DELAY, &ls->ls_flags);
259 spin_unlock(&ls->ls_cb_lock);
269 log_rinfo(ls, "%s %d", __func__, sum);