Lines Matching refs:dlm

45 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm,
103 static enum dlm_status dlmlock_master(struct dlm_ctxt *dlm, in dlmlock_master() argument
117 lock->ml.node != dlm->node_num) { in dlmlock_master()
145 "node %u for reco lock\n", dlm->name, in dlmlock_master()
156 "node %u for reco lock\n", dlm->name, in dlmlock_master()
172 dlm_queue_ast(dlm, lock); in dlmlock_master()
174 dlm_lockres_release_ast(dlm, res); in dlmlock_master()
176 dlm_lockres_calc_usage(dlm, res); in dlmlock_master()
178 dlm_kick_thread(dlm, res); in dlmlock_master()
199 static enum dlm_status dlmlock_remote(struct dlm_ctxt *dlm, in dlmlock_remote() argument
216 if (res->owner == dlm->node_num) { in dlmlock_remote()
230 status = dlm_send_remote_lock_request(dlm, res, lock, flags); in dlmlock_remote()
244 dlm->name, res->owner); in dlmlock_remote()
265 dlm->name, dlm->node_num, res->owner); in dlmlock_remote()
271 dlm_lockres_calc_usage(dlm, res); in dlmlock_remote()
285 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm, in dlm_send_remote_lock_request() argument
294 create.node_idx = dlm->node_num; in dlm_send_remote_lock_request()
301 tmpret = o2net_send_message(DLM_CREATE_LOCK_MSG, dlm->key, &create, in dlm_send_remote_lock_request()
308 "currently.\n", dlm->name, create.namelen, in dlm_send_remote_lock_request()
315 "node %u\n", dlm->name, create.namelen, create.name, in dlm_send_remote_lock_request()
445 struct dlm_ctxt *dlm = data; in dlm_create_lock_handler() local
454 BUG_ON(!dlm); in dlm_create_lock_handler()
456 if (!dlm_grab(dlm)) in dlm_create_lock_handler()
462 if (!dlm_domain_fully_joined(dlm)) { in dlm_create_lock_handler()
465 dlm->name, create->node_idx, namelen, name); in dlm_create_lock_handler()
493 res = dlm_lookup_lockres(dlm, name, namelen); in dlm_create_lock_handler()
510 status = dlmlock_master(dlm, res, newlock, be32_to_cpu(create->flags)); in dlm_create_lock_handler()
519 dlm_put(dlm); in dlm_create_lock_handler()
542 enum dlm_status dlmlock(struct dlm_ctxt *dlm, int mode, in dlmlock() argument
619 dlm_wait_for_recovery(dlm); in dlmlock()
621 if (res->owner == dlm->node_num) in dlmlock()
622 status = dlmconvert_master(dlm, res, lock, flags, mode); in dlmlock()
624 status = dlmconvert_remote(dlm, res, lock, flags, mode); in dlmlock()
652 dlm_get_next_cookie(dlm->node_num, &tmpcookie); in dlmlock()
653 lock = dlm_new_lock(mode, dlm->node_num, tmpcookie, lksb); in dlmlock()
660 dlm_wait_for_recovery(dlm); in dlmlock()
663 res = dlm_get_lock_resource(dlm, name, namelen, flags); in dlmlock()
692 if (res->owner == dlm->node_num) in dlmlock()
693 status = dlmlock_master(dlm, res, lock, flags); in dlmlock()
695 status = dlmlock_remote(dlm, res, lock, flags); in dlmlock()
706 dlm_wait_for_node_death(dlm, res->owner, in dlmlock()
709 dlm_wait_for_recovery(dlm); in dlmlock()
716 dlm_lockres_drop_inflight_ref(dlm, res); in dlmlock()
719 dlm_lockres_calc_usage(dlm, res); in dlmlock()
720 dlm_kick_thread(dlm, res); in dlmlock()