Lines Matching refs:lkb

175 void dlm_user_add_ast(struct dlm_lkb *lkb, uint32_t flags, int mode,  in dlm_user_add_ast()  argument
183 if (lkb->lkb_flags & (DLM_IFL_ORPHAN | DLM_IFL_DEAD)) in dlm_user_add_ast()
186 ls = lkb->lkb_resource->res_ls; in dlm_user_add_ast()
195 if (lkb->lkb_flags & (DLM_IFL_ORPHAN | DLM_IFL_DEAD)) in dlm_user_add_ast()
198 DLM_ASSERT(lkb->lkb_ua, dlm_print_lkb(lkb);); in dlm_user_add_ast()
199 ua = lkb->lkb_ua; in dlm_user_add_ast()
206 lkb->lkb_flags |= DLM_IFL_ENDOFLIFE; in dlm_user_add_ast()
210 rv = dlm_add_lkb_callback(lkb, flags, mode, status, sbflags, seq); in dlm_user_add_ast()
216 if (list_empty(&lkb->lkb_cb_list)) { in dlm_user_add_ast()
217 kref_get(&lkb->lkb_ref); in dlm_user_add_ast()
218 list_add_tail(&lkb->lkb_cb_list, &proc->asts); in dlm_user_add_ast()
223 if (lkb->lkb_flags & DLM_IFL_ENDOFLIFE) { in dlm_user_add_ast()
226 if (!list_empty(&lkb->lkb_ownqueue)) { in dlm_user_add_ast()
227 list_del_init(&lkb->lkb_ownqueue); in dlm_user_add_ast()
228 dlm_put_lkb(lkb); in dlm_user_add_ast()
781 struct dlm_lkb *lkb; in device_read() local
840 lkb = list_entry(proc->asts.next, struct dlm_lkb, lkb_cb_list); in device_read()
843 old_mode = lkb->lkb_last_cast.mode; in device_read()
845 rv = dlm_rem_lkb_callback(lkb->lkb_resource->res_ls, lkb, &cb, &resid); in device_read()
849 log_print("dlm_rem_lkb_callback empty %x", lkb->lkb_id); in device_read()
850 list_del_init(&lkb->lkb_cb_list); in device_read()
853 dlm_put_lkb(lkb); in device_read()
857 list_del_init(&lkb->lkb_cb_list); in device_read()
863 dlm_put_lkb(lkb); in device_read()
870 if (!cb.sb_status && lkb->lkb_lksb->sb_lvbptr && in device_read()
874 lkb->lkb_lksb->sb_status = cb.sb_status; in device_read()
875 lkb->lkb_lksb->sb_flags = cb.sb_flags; in device_read()
878 rv = copy_result_to_user(lkb->lkb_ua, in device_read()
884 dlm_put_lkb(lkb); in device_read()