• Home
  • Raw
  • Download

Lines Matching refs:res

59 					   struct dlm_lock_resource *res,
64 struct dlm_lock_resource *res,
77 struct dlm_lock_resource *res, in dlmconvert_master() argument
83 spin_lock(&res->spinlock); in dlmconvert_master()
85 __dlm_wait_on_lockres(res); in dlmconvert_master()
86 __dlm_lockres_reserve_ast(res); in dlmconvert_master()
87 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_master()
89 status = __dlmconvert_master(dlm, res, lock, flags, type, in dlmconvert_master()
92 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_master()
93 spin_unlock(&res->spinlock); in dlmconvert_master()
94 wake_up(&res->wq); in dlmconvert_master()
102 dlm_lockres_release_ast(dlm, res); in dlmconvert_master()
105 dlm_kick_thread(dlm, res); in dlmconvert_master()
120 struct dlm_lock_resource *res, in __dlmconvert_master() argument
128 assert_spin_locked(&res->spinlock); in __dlmconvert_master()
144 if (!dlm_lock_on_list(&res->granted, lock)) { in __dlmconvert_master()
187 list_for_each_entry(tmplock, &res->granted, list) { in __dlmconvert_master()
194 list_for_each_entry(tmplock, &res->converting, list) { in __dlmconvert_master()
205 mlog(0, "res %.*s, granting %s lock\n", res->lockname.len, in __dlmconvert_master()
206 res->lockname.name, dlm_lock_mode_name(type)); in __dlmconvert_master()
213 memcpy(res->lvb, lock->lksb->lvb, DLM_LVB_LEN); in __dlmconvert_master()
222 "%d to %d...\n", res->lockname.len, res->lockname.name, in __dlmconvert_master()
227 mlog(0, "res %.*s, queueing...\n", res->lockname.len, in __dlmconvert_master()
228 res->lockname.name); in __dlmconvert_master()
232 list_move_tail(&lock->list, &res->converting); in __dlmconvert_master()
237 __dlm_print_one_lock_resource(res); in __dlmconvert_master()
244 void dlm_revert_pending_convert(struct dlm_lock_resource *res, in dlm_revert_pending_convert() argument
248 list_move_tail(&lock->list, &res->granted); in dlm_revert_pending_convert()
261 struct dlm_lock_resource *res, in dlmconvert_remote() argument
267 lock->ml.convert_type, res->state & DLM_LOCK_RES_IN_PROGRESS); in dlmconvert_remote()
269 spin_lock(&res->spinlock); in dlmconvert_remote()
270 if (res->state & DLM_LOCK_RES_RECOVERING) { in dlmconvert_remote()
278 __dlm_wait_on_lockres(res); in dlmconvert_remote()
281 __dlm_print_one_lock_resource(res); in dlmconvert_remote()
295 res->lockname.len, res->lockname.name, in dlmconvert_remote()
303 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_remote()
306 list_move_tail(&lock->list, &res->converting); in dlmconvert_remote()
323 spin_unlock(&res->spinlock); in dlmconvert_remote()
327 status = dlm_send_remote_convert_request(dlm, res, lock, flags, type); in dlmconvert_remote()
329 spin_lock(&res->spinlock); in dlmconvert_remote()
330 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_remote()
338 dlm_revert_pending_convert(res, lock); in dlmconvert_remote()
342 dlm->name, res->lockname.len, res->lockname.name); in dlmconvert_remote()
348 spin_unlock(&res->spinlock); in dlmconvert_remote()
352 wake_up(&res->wq); in dlmconvert_remote()
365 struct dlm_lock_resource *res, in dlm_send_remote_convert_request() argument
375 mlog(0, "%.*s\n", res->lockname.len, res->lockname.name); in dlm_send_remote_convert_request()
381 convert.namelen = res->lockname.len; in dlm_send_remote_convert_request()
383 memcpy(convert.name, res->lockname.name, convert.namelen); in dlm_send_remote_convert_request()
396 vec, veclen, res->owner, &status); in dlm_send_remote_convert_request()
402 "message!\n", res->owner); in dlm_send_remote_convert_request()
405 "message!\n", res->owner); in dlm_send_remote_convert_request()
408 "message!\n", res->owner); in dlm_send_remote_convert_request()
414 res->owner); in dlm_send_remote_convert_request()
419 dlm_wait_for_node_death(dlm, res->owner, in dlm_send_remote_convert_request()
423 "from convert message!\n", res->owner); in dlm_send_remote_convert_request()
445 struct dlm_lock_resource *res = NULL; in dlm_convert_lock_handler() local
480 res = dlm_lookup_lockres(dlm, cnv->name, cnv->namelen); in dlm_convert_lock_handler()
481 if (!res) { in dlm_convert_lock_handler()
486 spin_lock(&res->spinlock); in dlm_convert_lock_handler()
487 status = __dlm_lockres_state_to_status(res); in dlm_convert_lock_handler()
489 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
493 list_for_each_entry(tmp_lock, &res->granted, list) { in dlm_convert_lock_handler()
501 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
508 dlm_print_one_lock_resource(res); in dlm_convert_lock_handler()
525 spin_lock(&res->spinlock); in dlm_convert_lock_handler()
526 status = __dlm_lockres_state_to_status(res); in dlm_convert_lock_handler()
528 __dlm_lockres_reserve_ast(res); in dlm_convert_lock_handler()
530 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlm_convert_lock_handler()
531 status = __dlmconvert_master(dlm, res, lock, flags, in dlm_convert_lock_handler()
534 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlm_convert_lock_handler()
537 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
539 wake_up(&res->wq); in dlm_convert_lock_handler()
555 dlm_lockres_release_ast(dlm, res); in dlm_convert_lock_handler()
558 dlm_kick_thread(dlm, res); in dlm_convert_lock_handler()
560 if (res) in dlm_convert_lock_handler()
561 dlm_lockres_put(res); in dlm_convert_lock_handler()