Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 lkb 4096-ptr_max
DATA_SOURCE 0 lkb $0
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_recoverd_active
HALF_LOCKED2 &ls->ls_requestqueue_lock
HALF_LOCKED2 bh
TYPE_LOCK (struct dlm_rsb)->res_lock

fs/dlm/lock.c receive_rcom_lock_args() -> middle_conversion()

Type Parameter Key Value
PARAM_VALUE 0 lkb 4096-ptr_max
BUF_SIZE 0 lkb->lkb_astfn 0,8
BUF_SIZE 0 lkb->lkb_bastfn 0,8
BUF_SIZE 0 lkb->lkb_lvbptr s32min-s32max
DATA_SOURCE 0 lkb $1
BIT_INFO 0 lkb->lkb_astfn 0x0,0x4d623c28af79e000
BIT_INFO 0 lkb->lkb_bastfn 0x0,0x747ed62662eb8000
PREEMPT_ADD
LOCK2 &ls->ls_recv_active
LOCK2 &r->res_lock
LOCK2 bh
HALF_LOCKED2 &pool->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 recover_convert_waiter() -> middle_conversion()

Type Parameter Key Value
PARAM_VALUE 0 lkb 4096-ptr_max
DATA_SOURCE 0 lkb $1
LOCK2 &ls->ls_in_recovery
LOCK2 &ls->ls_recoverd_active
TYPE_LOCK (struct dlm_ls)->ls_in_recovery
TYPE_LOCK (struct dlm_ls)->ls_recoverd_active

fs/gfs2/lock_dlm.c down_conversion() -> middle_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 $0
DATA_SOURCE 1 req $1
RX_PATH
HALF_LOCKED2 &pool->lock