Lines Matching refs:res
36 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res,
78 struct dlm_lock_resource *res; in __dlm_queue_ast() local
83 res = lock->lockres; in __dlm_queue_ast()
90 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
98 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
109 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_ast()
124 dlm_lockres_release_ast(dlm, res); in __dlm_queue_ast()
144 struct dlm_lock_resource *res; in __dlm_queue_bast() local
151 res = lock->lockres; in __dlm_queue_bast()
156 dlm->name, res->lockname.len, res->lockname.name, in __dlm_queue_bast()
178 static void dlm_update_lvb(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_update_lvb() argument
185 spin_lock(&res->spinlock); in dlm_update_lvb()
186 if (res->owner == dlm->node_num) { in dlm_update_lvb()
192 memcpy(lksb->lvb, res->lvb, DLM_LVB_LEN); in dlm_update_lvb()
202 spin_unlock(&res->spinlock); in dlm_update_lvb()
208 void dlm_do_local_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_local_ast() argument
214 res->lockname.len, res->lockname.name, in dlm_do_local_ast()
221 dlm_update_lvb(dlm, res, lock); in dlm_do_local_ast()
226 int dlm_do_remote_ast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_remote_ast() argument
234 res->lockname.len, res->lockname.name, in dlm_do_remote_ast()
242 dlm_update_lvb(dlm, res, lock); in dlm_do_remote_ast()
246 ret = dlm_send_proxy_ast(dlm, res, lock, lksbflags); in dlm_do_remote_ast()
250 void dlm_do_local_bast(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_do_local_bast() argument
258 dlm->name, res->lockname.len, res->lockname.name, in dlm_do_local_bast()
274 struct dlm_lock_resource *res = NULL; in dlm_proxy_ast_handler() local
328 res = dlm_lookup_lockres(dlm, name, locklen); in dlm_proxy_ast_handler()
329 if (!res) { in dlm_proxy_ast_handler()
340 BUG_ON(res->owner == dlm->node_num); in dlm_proxy_ast_handler()
342 mlog(0, "%s: res %.*s\n", dlm->name, res->lockname.len, in dlm_proxy_ast_handler()
343 res->lockname.name); in dlm_proxy_ast_handler()
345 spin_lock(&res->spinlock); in dlm_proxy_ast_handler()
346 if (res->state & DLM_LOCK_RES_RECOVERING) { in dlm_proxy_ast_handler()
351 if (res->state & DLM_LOCK_RES_MIGRATING) { in dlm_proxy_ast_handler()
357 head = &res->converting; in dlm_proxy_ast_handler()
366 head = &res->blocked; in dlm_proxy_ast_handler()
368 head = &res->granted; in dlm_proxy_ast_handler()
387 spin_unlock(&res->spinlock); in dlm_proxy_ast_handler()
394 list_move_tail(&lock->list, &res->granted); in dlm_proxy_ast_handler()
396 dlm->name, res->lockname.len, res->lockname.name, in dlm_proxy_ast_handler()
416 spin_unlock(&res->spinlock); in dlm_proxy_ast_handler()
419 dlm_do_local_ast(dlm, res, lock); in dlm_proxy_ast_handler()
421 dlm_do_local_bast(dlm, res, lock, past->blocked_type); in dlm_proxy_ast_handler()
424 if (res) in dlm_proxy_ast_handler()
425 dlm_lockres_put(res); in dlm_proxy_ast_handler()
433 int dlm_send_proxy_ast_msg(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, in dlm_send_proxy_ast_msg() argument
444 res->lockname.len, res->lockname.name, lock->ml.node, msg_type, in dlm_send_proxy_ast_msg()
451 past.namelen = res->lockname.len; in dlm_send_proxy_ast_msg()
452 memcpy(past.name, res->lockname.name, past.namelen); in dlm_send_proxy_ast_msg()
468 dlm->name, res->lockname.len, res->lockname.name, ret, in dlm_send_proxy_ast_msg()