Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 lkb 4096-ptr_max
CAPPED_DATA 0 lkb->lkb_nodeid 1
CAPPED_DATA 0 lkb->lkb_remid 1
PREEMPT_ADD <- disables preempt
LOCK2 &ls->ls_requestqueue_lock
LOCK2 &r->res_lock
LOCK2 bh
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 send_convert() -> down_conversion()

Type Parameter Key Value
PARAM_VALUE 0 lkb 4096-ptr_max
DATA_SOURCE 0 lkb $1
STR_LEN 0 lkb->lkb_rqmode (-1)
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 lkb->lkb_rqmode 0-5[u]
LOCK2 &r->res_lock
HALF_LOCKED2 &ls->ls_in_recovery
HALF_LOCKED2 &ls->ls_recoverd_active
HALF_LOCKED2 bh
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/gfs2/lock_dlm.c gdlm_lock() -> down_conversion()

Type Parameter Key Value
PARAM_VALUE 0 lkb 0,2-3,5
PARAM_VALUE 1 req 0,2-3,5
DATA_SOURCE 0 lkb r make_mode
DATA_SOURCE 1 req r make_mode
RX_PATH
HALF_LOCKED2 &pool->lock