Lines Matching refs:res

42 					   struct dlm_lock_resource *res,
47 struct dlm_lock_resource *res,
60 struct dlm_lock_resource *res, in dlmconvert_master() argument
66 spin_lock(&res->spinlock); in dlmconvert_master()
68 __dlm_wait_on_lockres(res); in dlmconvert_master()
69 __dlm_lockres_reserve_ast(res); in dlmconvert_master()
70 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_master()
72 status = __dlmconvert_master(dlm, res, lock, flags, type, in dlmconvert_master()
75 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_master()
76 spin_unlock(&res->spinlock); in dlmconvert_master()
77 wake_up(&res->wq); in dlmconvert_master()
85 dlm_lockres_release_ast(dlm, res); in dlmconvert_master()
88 dlm_kick_thread(dlm, res); in dlmconvert_master()
103 struct dlm_lock_resource *res, in __dlmconvert_master() argument
111 assert_spin_locked(&res->spinlock); in __dlmconvert_master()
127 if (!dlm_lock_on_list(&res->granted, lock)) { in __dlmconvert_master()
170 list_for_each_entry(tmplock, &res->granted, list) { in __dlmconvert_master()
177 list_for_each_entry(tmplock, &res->converting, list) { in __dlmconvert_master()
188 mlog(0, "res %.*s, granting %s lock\n", res->lockname.len, in __dlmconvert_master()
189 res->lockname.name, dlm_lock_mode_name(type)); in __dlmconvert_master()
196 memcpy(res->lvb, lock->lksb->lvb, DLM_LVB_LEN); in __dlmconvert_master()
202 list_move_tail(&lock->list, &res->granted); in __dlmconvert_master()
211 "%d to %d...\n", res->lockname.len, res->lockname.name, in __dlmconvert_master()
216 mlog(0, "res %.*s, queueing...\n", res->lockname.len, in __dlmconvert_master()
217 res->lockname.name); in __dlmconvert_master()
221 list_move_tail(&lock->list, &res->converting); in __dlmconvert_master()
226 __dlm_print_one_lock_resource(res); in __dlmconvert_master()
233 void dlm_revert_pending_convert(struct dlm_lock_resource *res, in dlm_revert_pending_convert() argument
237 list_move_tail(&lock->list, &res->granted); in dlm_revert_pending_convert()
250 struct dlm_lock_resource *res, in dlmconvert_remote() argument
256 lock->ml.convert_type, res->state & DLM_LOCK_RES_IN_PROGRESS); in dlmconvert_remote()
258 spin_lock(&res->spinlock); in dlmconvert_remote()
259 if (res->state & DLM_LOCK_RES_RECOVERING) { in dlmconvert_remote()
267 __dlm_wait_on_lockres(res); in dlmconvert_remote()
270 __dlm_print_one_lock_resource(res); in dlmconvert_remote()
284 res->lockname.len, res->lockname.name, in dlmconvert_remote()
292 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_remote()
295 list_move_tail(&lock->list, &res->converting); in dlmconvert_remote()
312 spin_unlock(&res->spinlock); in dlmconvert_remote()
316 status = dlm_send_remote_convert_request(dlm, res, lock, flags, type); in dlmconvert_remote()
318 spin_lock(&res->spinlock); in dlmconvert_remote()
319 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlmconvert_remote()
327 dlm_revert_pending_convert(res, lock); in dlmconvert_remote()
331 dlm->name, res->lockname.len, res->lockname.name); in dlmconvert_remote()
337 spin_unlock(&res->spinlock); in dlmconvert_remote()
341 wake_up(&res->wq); in dlmconvert_remote()
354 struct dlm_lock_resource *res, in dlm_send_remote_convert_request() argument
364 mlog(0, "%.*s\n", res->lockname.len, res->lockname.name); in dlm_send_remote_convert_request()
370 convert.namelen = res->lockname.len; in dlm_send_remote_convert_request()
372 memcpy(convert.name, res->lockname.name, convert.namelen); in dlm_send_remote_convert_request()
385 vec, veclen, res->owner, &status); in dlm_send_remote_convert_request()
391 "message!\n", res->owner); in dlm_send_remote_convert_request()
394 "message!\n", res->owner); in dlm_send_remote_convert_request()
397 "message!\n", res->owner); in dlm_send_remote_convert_request()
403 res->owner); in dlm_send_remote_convert_request()
408 dlm_wait_for_node_death(dlm, res->owner, in dlm_send_remote_convert_request()
412 "from convert message!\n", res->owner); in dlm_send_remote_convert_request()
434 struct dlm_lock_resource *res = NULL; in dlm_convert_lock_handler() local
469 res = dlm_lookup_lockres(dlm, cnv->name, cnv->namelen); in dlm_convert_lock_handler()
470 if (!res) { in dlm_convert_lock_handler()
475 spin_lock(&res->spinlock); in dlm_convert_lock_handler()
476 status = __dlm_lockres_state_to_status(res); in dlm_convert_lock_handler()
478 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
482 list_for_each_entry(tmp_lock, &res->granted, list) { in dlm_convert_lock_handler()
490 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
497 dlm_print_one_lock_resource(res); in dlm_convert_lock_handler()
514 spin_lock(&res->spinlock); in dlm_convert_lock_handler()
515 status = __dlm_lockres_state_to_status(res); in dlm_convert_lock_handler()
517 __dlm_lockres_reserve_ast(res); in dlm_convert_lock_handler()
519 res->state |= DLM_LOCK_RES_IN_PROGRESS; in dlm_convert_lock_handler()
520 status = __dlmconvert_master(dlm, res, lock, flags, in dlm_convert_lock_handler()
523 res->state &= ~DLM_LOCK_RES_IN_PROGRESS; in dlm_convert_lock_handler()
526 spin_unlock(&res->spinlock); in dlm_convert_lock_handler()
528 wake_up(&res->wq); in dlm_convert_lock_handler()
544 dlm_lockres_release_ast(dlm, res); in dlm_convert_lock_handler()
547 dlm_kick_thread(dlm, res); in dlm_convert_lock_handler()
549 if (res) in dlm_convert_lock_handler()
550 dlm_lockres_put(res); in dlm_convert_lock_handler()