Lines Matching refs:lkb

178 void dlm_user_add_ast(struct dlm_lkb *lkb, uint32_t flags, int mode,  in dlm_user_add_ast()  argument
186 if (lkb->lkb_flags & (DLM_IFL_ORPHAN | DLM_IFL_DEAD)) in dlm_user_add_ast()
189 ls = lkb->lkb_resource->res_ls; in dlm_user_add_ast()
198 if (lkb->lkb_flags & (DLM_IFL_ORPHAN | DLM_IFL_DEAD)) in dlm_user_add_ast()
201 DLM_ASSERT(lkb->lkb_ua, dlm_print_lkb(lkb);); in dlm_user_add_ast()
202 ua = lkb->lkb_ua; in dlm_user_add_ast()
209 lkb->lkb_flags |= DLM_IFL_ENDOFLIFE; in dlm_user_add_ast()
213 rv = dlm_enqueue_lkb_callback(lkb, flags, mode, status, sbflags); in dlm_user_add_ast()
220 kref_get(&lkb->lkb_ref); in dlm_user_add_ast()
221 list_add_tail(&lkb->lkb_cb_list, &proc->asts); in dlm_user_add_ast()
232 if (lkb->lkb_flags & DLM_IFL_ENDOFLIFE) { in dlm_user_add_ast()
235 if (!list_empty(&lkb->lkb_ownqueue)) { in dlm_user_add_ast()
236 list_del_init(&lkb->lkb_ownqueue); in dlm_user_add_ast()
237 dlm_put_lkb(lkb); in dlm_user_add_ast()
808 struct dlm_lkb *lkb; in device_read() local
867 lkb = list_first_entry(&proc->asts, struct dlm_lkb, lkb_cb_list); in device_read()
870 old_mode = lkb->lkb_last_cast->mode; in device_read()
872 rv = dlm_dequeue_lkb_callback(lkb, &cb); in device_read()
878 log_print("dlm_rem_lkb_callback empty %x", lkb->lkb_id); in device_read()
879 list_del_init(&lkb->lkb_cb_list); in device_read()
882 dlm_put_lkb(lkb); in device_read()
886 list_del_init(&lkb->lkb_cb_list); in device_read()
887 lkb->lkb_flags &= ~DLM_IFL_CB_PENDING; in device_read()
898 trace_dlm_bast(lkb->lkb_resource->res_ls, lkb, cb->mode); in device_read()
902 if (!cb->sb_status && lkb->lkb_lksb->sb_lvbptr && in device_read()
906 lkb->lkb_lksb->sb_status = cb->sb_status; in device_read()
907 lkb->lkb_lksb->sb_flags = cb->sb_flags; in device_read()
908 trace_dlm_ast(lkb->lkb_resource->res_ls, lkb); in device_read()
911 rv = copy_result_to_user(lkb->lkb_ua, in device_read()
919 dlm_put_lkb(lkb); in device_read()