Lines Matching refs:res
51 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res,
93 struct dlm_lock_resource *res; in __dlm_queue_ast() local
98 res = lock->lockres; in __dlm_queue_ast()
105 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
113 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
124 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
139 dlm_lockres_release_ast(dlm, res); in __dlm_queue_ast()
159 struct dlm_lock_resource *res; in __dlm_queue_bast() local
166 res = lock->lockres; in __dlm_queue_bast()
171 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_bast()
193 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_update_lvb() argument
200 spin_lock(&res->spinlock); in dlm_update_lvb()
201 if (res->owner == dlm->node_num) { in dlm_update_lvb()
207 memcpy(lksb->lvb, res->lvb, DLM_LVB_LEN); in dlm_update_lvb()
217 spin_unlock(&res->spinlock); in dlm_update_lvb()
223 void dlm_do_local_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_local_ast() argument
230 res->lockname.len, res->lockname.name, in dlm_do_local_ast()
238 dlm_update_lvb(dlm, res, lock); in dlm_do_local_ast()
243 int dlm_do_remote_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_remote_ast() argument
251 res->lockname.len, res->lockname.name, in dlm_do_remote_ast()
259 dlm_update_lvb(dlm, res, lock); in dlm_do_remote_ast()
263 ret = dlm_send_proxy_ast(dlm, res, lock, lksbflags); in dlm_do_remote_ast()
267 void dlm_do_local_bast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_local_bast() argument
275 dlm->name, res->lockname.len, res->lockname.name, in dlm_do_local_bast()
291 struct dlm_lock_resource *res = NULL; in dlm_proxy_ast_handler() local
345 res = dlm_lookup_lockres(dlm, name, locklen); in dlm_proxy_ast_handler()
346 if (!res) { in dlm_proxy_ast_handler()
357 BUG_ON(res->owner == dlm->node_num); in dlm_proxy_ast_handler()
359 mlog(0, "%s: res %.*s\n", dlm->name, res->lockname.len, in dlm_proxy_ast_handler()
360 res->lockname.name); in dlm_proxy_ast_handler()
362 spin_lock(&res->spinlock); in dlm_proxy_ast_handler()
363 if (res->state & DLM_LOCK_RES_RECOVERING) { in dlm_proxy_ast_handler()
368 if (res->state & DLM_LOCK_RES_MIGRATING) { in dlm_proxy_ast_handler()
374 head = &res->converting; in dlm_proxy_ast_handler()
384 head = &res->blocked; in dlm_proxy_ast_handler()
386 head = &res->granted; in dlm_proxy_ast_handler()
402 spin_unlock(&res->spinlock); in dlm_proxy_ast_handler()
409 list_move_tail(&lock->list, &res->granted); in dlm_proxy_ast_handler()
411 dlm->name, res->lockname.len, res->lockname.name, in dlm_proxy_ast_handler()
431 spin_unlock(&res->spinlock); in dlm_proxy_ast_handler()
434 dlm_do_local_ast(dlm, res, lock); in dlm_proxy_ast_handler()
436 dlm_do_local_bast(dlm, res, lock, past->blocked_type); in dlm_proxy_ast_handler()
439 if (res) in dlm_proxy_ast_handler()
440 dlm_lockres_put(res); in dlm_proxy_ast_handler()
448 int dlm_send_proxy_ast_msg(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_send_proxy_ast_msg() argument
459 res->lockname.len, res->lockname.name, lock->ml.node, msg_type, in dlm_send_proxy_ast_msg()
466 past.namelen = res->lockname.len; in dlm_send_proxy_ast_msg()
467 memcpy(past.name, res->lockname.name, past.namelen); in dlm_send_proxy_ast_msg()
483 dlm->name, res->lockname.len, res->lockname.name, ret, in dlm_send_proxy_ast_msg()