Lines Matching refs:dlm

60 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm,
118 static enum dlm_status dlmlock_master(struct dlm_ctxt *dlm, in dlmlock_master() argument
132 lock->ml.node != dlm->node_num) { in dlmlock_master()
160 "node %u for reco lock\n", dlm->name, in dlmlock_master()
171 "node %u for reco lock\n", dlm->name, in dlmlock_master()
187 dlm_queue_ast(dlm, lock); in dlmlock_master()
189 dlm_lockres_release_ast(dlm, res); in dlmlock_master()
191 dlm_lockres_calc_usage(dlm, res); in dlmlock_master()
193 dlm_kick_thread(dlm, res); in dlmlock_master()
214 static enum dlm_status dlmlock_remote(struct dlm_ctxt *dlm, in dlmlock_remote() argument
231 if (res->owner == dlm->node_num) { in dlmlock_remote()
245 status = dlm_send_remote_lock_request(dlm, res, lock, flags); in dlmlock_remote()
259 dlm->name, res->owner); in dlmlock_remote()
280 dlm->name, dlm->node_num, res->owner); in dlmlock_remote()
286 dlm_lockres_calc_usage(dlm, res); in dlmlock_remote()
300 static enum dlm_status dlm_send_remote_lock_request(struct dlm_ctxt *dlm, in dlm_send_remote_lock_request() argument
309 create.node_idx = dlm->node_num; in dlm_send_remote_lock_request()
316 tmpret = o2net_send_message(DLM_CREATE_LOCK_MSG, dlm->key, &create, in dlm_send_remote_lock_request()
323 "currently.\n", dlm->name, create.namelen, in dlm_send_remote_lock_request()
330 "node %u\n", dlm->name, create.namelen, create.name, in dlm_send_remote_lock_request()
460 struct dlm_ctxt *dlm = data; in dlm_create_lock_handler() local
469 BUG_ON(!dlm); in dlm_create_lock_handler()
471 if (!dlm_grab(dlm)) in dlm_create_lock_handler()
477 if (!dlm_domain_fully_joined(dlm)) { in dlm_create_lock_handler()
480 dlm->name, create->node_idx, namelen, name); in dlm_create_lock_handler()
508 res = dlm_lookup_lockres(dlm, name, namelen); in dlm_create_lock_handler()
525 status = dlmlock_master(dlm, res, newlock, be32_to_cpu(create->flags)); in dlm_create_lock_handler()
534 dlm_put(dlm); in dlm_create_lock_handler()
557 enum dlm_status dlmlock(struct dlm_ctxt *dlm, int mode, in dlmlock() argument
634 dlm_wait_for_recovery(dlm); in dlmlock()
636 if (res->owner == dlm->node_num) in dlmlock()
637 status = dlmconvert_master(dlm, res, lock, flags, mode); in dlmlock()
639 status = dlmconvert_remote(dlm, res, lock, flags, mode); in dlmlock()
667 dlm_get_next_cookie(dlm->node_num, &tmpcookie); in dlmlock()
668 lock = dlm_new_lock(mode, dlm->node_num, tmpcookie, lksb); in dlmlock()
675 dlm_wait_for_recovery(dlm); in dlmlock()
678 res = dlm_get_lock_resource(dlm, name, namelen, flags); in dlmlock()
707 if (res->owner == dlm->node_num) in dlmlock()
708 status = dlmlock_master(dlm, res, lock, flags); in dlmlock()
710 status = dlmlock_remote(dlm, res, lock, flags); in dlmlock()
721 dlm_wait_for_node_death(dlm, res->owner, in dlmlock()
724 dlm_wait_for_recovery(dlm); in dlmlock()
731 dlm_lockres_drop_inflight_ref(dlm, res); in dlmlock()
734 dlm_lockres_calc_usage(dlm, res); in dlmlock()
735 dlm_kick_thread(dlm, res); in dlmlock()