Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/ocfs2/dlmglue.c __ocfs2_cluster_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1-2
PARAM_VALUE 0 lockres->l_flags 4-u64max
PARAM_VALUE 0 lockres->l_level (-128)-4
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_requested 3,5
PARAM_VALUE 1 or 2
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
CAPPED_DATA 0 lockres->l_level 1
CAPPED_DATA 0 lockres->l_requested 1
DATA_SOURCE 0 lockres $1
FUZZY_MAX 0 lockres->l_action 2
FUZZY_MAX 0 lockres->l_level 4
BIT_INFO 0 lockres->l_requested 0x1,0x7
HARD_MAX 0 lockres->l_action 2
HARD_MAX 0 lockres->l_level 4
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c __ocfs2_cluster_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1-2
PARAM_VALUE 0 lockres->l_level (-128)-4
PARAM_VALUE 0 lockres->l_lksb.lksb_fsdlm.sb_status (-65538)-(-65537),(-35),(-11),0
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm->lockid->lockres->lockname.name 0-255
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm->lockid->lockres->lvb 0-255
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid 4096-ptr_max
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->ast 0
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->bast 0
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->lock_refs.refcount.refs.counter 1
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->lockres->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->ml.highest_blocked (-127)-127
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->ml.list 0-2
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.lockid->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 lockres->l_lksb.lksb_o2dlm.status 1-31,33-39,41-u32max
PARAM_VALUE 0 lockres->l_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 lockres->l_mask_waiters.prev 4096-ptr_max
PARAM_VALUE 0 lockres->l_mask_waiters.prev->next 4096-ptr_max
PARAM_VALUE 0 lockres->l_mask_waiters.prev->next->next 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_requested 3,5
PARAM_VALUE 1 or 4096
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
CAPPED_DATA 0 lockres->l_level 1
CAPPED_DATA 0 lockres->l_requested 1
CAPPED_DATA 0 &lockres->l_lksb 1
DATA_SOURCE 0 lockres $1
FUZZY_MAX 0 lockres->l_action 2
FUZZY_MAX 0 lockres->l_level 4
BIT_INFO 0 lockres->l_requested 0x1,0xffffffffffffffff
HARD_MAX 0 lockres->l_action 2
HARD_MAX 0 lockres->l_level 4
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c lockres_set_pending() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1-3
PARAM_VALUE 0 lockres->l_flags 2-u64max
PARAM_VALUE 0 lockres->l_ops->check_downconvert 0,763880178214047744,5946327856837857280
PARAM_VALUE 0 lockres->l_ops->downconvert_worker 0,147724554491625472,1141064181757992960,7020352818716516352
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_requested 0,3,5
PARAM_VALUE 1 or 1024
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
CAPPED_DATA 0 lockres->l_requested 1
DATA_SOURCE 0 lockres $0
FUZZY_MAX 0 lockres->l_action 2
BIT_INFO 0 lockres->l_flags 0x2,0xffffffffffffffff
HARD_MAX 0 lockres->l_action 3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_create_new_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 1 or 8
DATA_SOURCE 0 lockres $1
BIT_INFO 0 lockres->l_flags 0x0,0xfffffffffffffffe
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
HALF_LOCKED2 &inode->i_rwsem
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_drop_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 0
PARAM_VALUE 0 lockres->l_flags 192-u64max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 1 or 2
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
DATA_SOURCE 0 lockres $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_file_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 2
PARAM_VALUE 0 lockres->l_level (-128)-0
PARAM_VALUE 0 lockres->l_requested 3,5
PARAM_VALUE 1 or 2
BUF_SIZE 0 lockres 528
FUZZY_MAX 0 lockres->l_level 0
BIT_INFO 0 lockres->l_requested 0x1,0x7
HARD_MAX 0 lockres->l_level 0
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &fp->fp_mutex
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_file_private)->fp_mutex
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_file_unlock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_flags 1-u64max
PARAM_VALUE 0 lockres->l_level (-128)-(-1),1-127
PARAM_VALUE 1 or 4
BUF_SIZE 0 lockres 528
BIT_INFO 0 lockres->l_flags 0x1,0xffffffffffffffff
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &fp->fp_mutex
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_file_private)->fp_mutex
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_attach_action() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1
PARAM_VALUE 0 lockres->l_flags 2-u64max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 1,3
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 0 lockres->l_requested 1-127
PARAM_VALUE 1 or 16
DATA_SOURCE 0 lockres $0
FUZZY_MAX 0 lockres->l_requested 1
BIT_INFO 0 lockres->l_flags 0x2,0xfffffffffffffff6
BIT_INFO 0 lockres->l_ops->flags 0x1,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_attach_action() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1
PARAM_VALUE 0 lockres->l_flags 0,2-u64max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 1 or 1
DATA_SOURCE 0 lockres $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

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

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 1 or 4
CAPPED_DATA 0 lockres->l_blocking 1
DATA_SOURCE 0 lockres $0
BIT_INFO 0 lockres->l_flags 0x0,0xfffffffffffffdff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 lockres->l_blocking 1-5[c]
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_convert_action() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 2
PARAM_VALUE 0 lockres->l_flags 2-u64max
PARAM_VALUE 0 lockres->l_level 0
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 1,3
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 1 or 16
DATA_SOURCE 0 lockres $0
BIT_INFO 0 lockres->l_flags 0x3,0xffffffffffffffff
BIT_INFO 0 lockres->l_ops->flags 0x1,0xffffffff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_generic_handle_convert_action() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 2
PARAM_VALUE 0 lockres->l_flags 0,2-u64max
PARAM_VALUE 0 lockres->l_ops 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 1 or 2048
DATA_SOURCE 0 lockres $0
BIT_INFO 0 lockres->l_flags 0x0,0xffffffffffffefff
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_lock_create() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 1
PARAM_VALUE 0 lockres->l_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 lockres->l_requested 0,3,5
PARAM_VALUE 1 or 2
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
DATA_SOURCE 0 lockres $1
BIT_INFO 0 lockres->l_flags 0x0,0xfffffffffffffffc
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
HALF_LOCKED2 &fp->fp_mutex
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_prepare_downconvert() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_action 3
PARAM_VALUE 0 lockres->l_blocking 1-127
PARAM_VALUE 0 lockres->l_flags 0,4-u64max
PARAM_VALUE 0 lockres->l_level 1-127
PARAM_VALUE 0 lockres->l_ops->check_downconvert 0,763880178214047744,5946327856837857280
PARAM_VALUE 0 lockres->l_ops->downconvert_worker 0,147724554491625472,1141064181757992960,7020352818716516352
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_requested 0,3,5
PARAM_VALUE 1 or 2
BUF_SIZE 0 lockres (-1),528
BUF_SIZE 0 lockres (-1),528
CAPPED_DATA 0 lockres->l_level 1
CAPPED_DATA 0 lockres->l_requested 1
DATA_SOURCE 0 lockres $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
HALF_LOCKED2 &fp->fp_mutex
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_schedule_blocked_lock() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_ops 1-u64max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 0 lockres->l_ops->get_osb 0,4096-ptr_max
PARAM_VALUE 0 lockres->l_ops->post_unlock 0,2528982137523523584
PARAM_VALUE 1 or 256
DATA_SOURCE 0 lockres $1
BIT_INFO 0 lockres->l_flags 0x0,0xffffffffffffff7f
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 lockres->l_blocking 3,5[c]
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock

fs/ocfs2/dlmglue.c ocfs2_should_refresh_lock_res() -> lockres_or_flags()

Type Parameter Key Value
PARAM_VALUE 0 lockres 4096-ptr_max
PARAM_VALUE 0 lockres->l_flags 16-u64max
PARAM_VALUE 0 lockres->l_ops->flags 0-1,3
PARAM_VALUE 1 or 32
BUF_SIZE 0 lockres 528
DATA_SOURCE 0 lockres $0
BIT_INFO 0 lockres->l_flags 0x10,0xffffffffffffffdf
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 0 &lockres->l_lock
TYPE_LOCK (struct ocfs2_lock_res)->l_lock