Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ocfs2/dlmglue.c ocfs2_generic_handle_bast() -> ocfs2_highest_compat_lock_level()

Type Parameter Key Value
PARAM_VALUE 0 level 1-s32max
DATA_SOURCE 0 level $1
FUZZY_MAX 0 level 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 level 1-5[c]
LOCK2 &lockres->l_lock
LOCK2 flags
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_bast() -> ocfs2_highest_compat_lock_level()

Type Parameter Key Value
CAPPED_DATA 0 level 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lockres->l_lock
LOCK2 flags
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_downconvert_action() -> ocfs2_highest_compat_lock_level()

Type Parameter Key Value
PARAM_VALUE 0 level 1-127
FUZZY_MAX 0 level 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lockres->l_lock
LOCK2 flags
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_may_continue_on_blocked_lock() -> ocfs2_highest_compat_lock_level()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lockres->l_lock
LOCK2 flags
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_unblock_lock() -> ocfs2_highest_compat_lock_level()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lockres->l_lock
LOCK2 flags
HALF_LOCKED2 &osb->obs_trim_fs_mutex
TYPE_LOCK (struct ocfs2_lock_res)->l_lock