Lines Matching defs:dlm

43 static enum dlm_status dlm_get_cancel_actions(struct dlm_ctxt *dlm,
48 static enum dlm_status dlm_get_unlock_actions(struct dlm_ctxt *dlm,
54 static enum dlm_status dlm_send_remote_unlock_request(struct dlm_ctxt *dlm,
83 static enum dlm_status dlmunlock_common(struct dlm_ctxt *dlm,
100 BUG_ON(res->owner != dlm->node_num);
102 BUG_ON(res->owner == dlm->node_num);
104 spin_lock(&dlm->ast_lock);
108 spin_unlock(&dlm->ast_lock);
142 status = dlm_get_cancel_actions(dlm, res, lock, lksb, &actions);
144 status = dlm_get_unlock_actions(dlm, res, lock, lksb, &actions);
168 status = dlm_send_remote_unlock_request(dlm, res, lock, lksb,
187 dlm->name, res->lockname.len,
283 static inline enum dlm_status dlmunlock_master(struct dlm_ctxt *dlm,
290 return dlmunlock_common(dlm, res, lock, lksb, flags, call_ast, 1);
293 static inline enum dlm_status dlmunlock_remote(struct dlm_ctxt *dlm,
299 return dlmunlock_common(dlm, res, lock, lksb, flags, call_ast, 0);
309 static enum dlm_status dlm_send_remote_unlock_request(struct dlm_ctxt *dlm,
325 if (owner == dlm->node_num) {
330 "migration, re-evaluate now\n", dlm->name,
336 unlock.node_idx = dlm->node_num;
352 tmpret = o2net_send_message_vec(DLM_UNLOCK_LOCK_MSG, dlm->key,
361 "node %u\n", tmpret, DLM_UNLOCK_LOCK_MSG, dlm->key, owner);
370 if (dlm_is_node_dead(dlm, owner))
394 struct dlm_ctxt *dlm = data;
423 if (!dlm_grab(dlm))
426 mlog_bug_on_msg(!dlm_domain_fully_joined(dlm),
427 "Domain %s not fully joined!\n", dlm->name);
431 res = dlm_lookup_lockres(dlm, unlock->name, unlock->namelen);
458 if (res->owner != dlm->node_num) {
499 status = dlmunlock_master(dlm, res, lock, lksb, flags, &ignore);
506 dlm_lockres_calc_usage(dlm, res);
507 dlm_kick_thread(dlm, res);
522 dlm_put(dlm);
528 static enum dlm_status dlm_get_cancel_actions(struct dlm_ctxt *dlm,
560 static enum dlm_status dlm_get_unlock_actions(struct dlm_ctxt *dlm,
587 enum dlm_status dlmunlock(struct dlm_ctxt *dlm, struct dlm_lockstatus *lksb,
628 is_master = (res->owner == dlm->node_num);
634 status = dlmunlock_master(dlm, res, lock, lksb, flags,
639 status = dlmunlock_remote(dlm, res, lock, lksb, flags,
674 dlm_kick_thread(dlm, NULL);
675 wait_event(dlm->ast_wq,
676 dlm_lock_basts_flushed(dlm, lock));
686 dlm_kick_thread(dlm, res);
690 dlm_lockres_calc_usage(dlm, res);