Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/dlm/lock.c _dlm_master_lookup() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->rcu.func 1-u64max
PARAM_VALUE 0 r->rcu.next 0
PARAM_VALUE 0 r->res_length (-88)-64
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls s64min-(-4096),4096-s64max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c _receive_cancel_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c _receive_convert_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c _receive_unlock_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c cancel_lock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c convert_lock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_debug_add_lkb() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_grant() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 r r find_grant_rsb
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_master_copy() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
CAPPED_DATA 0 &r->res_convertqueue 1
CAPPED_DATA 0 &r->res_waitqueue 1
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_process_copy() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_process_copy() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls 4096-ptr_max
PARAM_VALUE 0 r->res_ls->ls_recover_list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_rsbtbl_lock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_rsbtbl_lock.owner (-1)
PARAM_VALUE 0 r->res_ls->ls_rsbtbl_lock.owner_cpu u32max
PARAM_VALUE 0 r->res_ls->ls_rsbtbl_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 r->res_recover_list.next 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.prev 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_recover_list.prev->prev 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_purge() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_recover_waiters_post() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recoverd_active
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c dlm_user_deadlock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid 0-s32max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_bast() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_cancel() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_convert() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_grant() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_lookup_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_lookup.prev 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lvbptr 0,16,4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_request() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_request() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_request_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_unlock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_requestqueue_lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 &ls->ls_recv_active
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ls)->ls_requestqueue_lock
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c request_lock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_convertqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_grantqueue.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_lookup.prev 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_lookup.prev->next->next 4096-ptr_max
PARAM_VALUE 0 r->res_ls->ls_cb_delay.next 4096-ptr_max
PARAM_VALUE 0 r->res_ls->ls_cb_delay.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_ls->ls_cb_delay.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_ls->ls_cb_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_clear_proc_locks.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_lkbxa.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_lkbxa_lock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls->ls_lkbxa_lock.owner (-1)
PARAM_VALUE 0 r->res_ls->ls_lkbxa_lock.owner_cpu u32max
PARAM_VALUE 0 r->res_ls->ls_lkbxa_lock.raw_lock.cnts.counter 0-s32max
PARAM_VALUE 0 r->res_lvbptr 0,16,4096-ptr_max
PARAM_VALUE 0 r->res_nodeid 0
PARAM_VALUE 0 r->res_waitqueue.next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.next->prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next 4096-ptr_max
PARAM_VALUE 0 r->res_waitqueue.prev->next->next 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 r->res_hash 0-4294967295
USER_DATA 0 r->res_length 0-64[c]
LOCK2 &ls->ls_in_recovery
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c unlock_lock() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid 0-s32max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 &ls->ls_in_recovery
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c dlm_recover_master_reply() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 r r recover_xa_find
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_recv_active
LOCK2 &pool->lock
LOCK2 bh
LOCK2 0 &r->res_lock
HALF_LOCKED2 global &nodes_srcu
TYPE_LOCK (struct dlm_ls)->ls_recv_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c dlm_recover_masters() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c dlm_recover_rsbs() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/recover.c recover_locks() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_nodeid s32min-(-1),1-s32max
PARAM_VALUE 0 r->res_recover_locks_count 0-s32max
CAPPED_DATA 0 &r->res_grantqueue 1
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/debug_fs.c print_format1() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls 4096-ptr_max
CAPPED_DATA 0 r->res_length 1
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_rsb)->res_lock
TYPE_LOCK (struct seq_file)->lock

fs/dlm/debug_fs.c print_format2() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 &r->res_grantqueue 1
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_rsb)->res_lock
TYPE_LOCK (struct seq_file)->lock

fs/dlm/debug_fs.c print_format3() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 r->res_ls 4096-ptr_max
CAPPED_DATA 0 &r->res_recover_list 1
CAPPED_DATA 0 &r->res_root_list 1
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_rsb)->res_lock
TYPE_LOCK (struct seq_file)->lock

fs/dlm/debug_fs.c print_format4() -> unlock_rsb()

Type Parameter Key Value
PARAM_VALUE 0 r 4096-ptr_max
PARAM_VALUE 0 r->res_lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 r->res_length 1
DATA_SOURCE 0 r $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &s->lock
LOCK2 bh
LOCK2 0 &r->res_lock
TYPE_LOCK (struct dlm_rsb)->res_lock
TYPE_LOCK (struct seq_file)->lock