Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/ocfs2/dlm/dlmconvert.c dlm_convert_lock_handler() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->lockname.name 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res->lockname.len 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res r dlm_lookup_lockres
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 0 &res->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmconvert.c dlmconvert_master() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res->owner 1
DATA_SOURCE 0 res $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &res->spinlock
HALF_LOCKED2 &fp->fp_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmlock.c dlmlock_master() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
DATA_SOURCE 0 res $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &res->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->converting != $0->converting.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->converting != $0->converting.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->granted.prev 4096-ptr_max
PARAM_VALUE 0 res->granted.prev->next 4096-ptr_max
PARAM_VALUE 0 res->granted.prev->next->next 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->converting != $0->converting.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->blocked 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->blocked != $0->blocked.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->blocked 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->blocked != $0->blocked.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_shuffle_lists() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->converting.next 4096-ptr_max
PARAM_VALUE 0 res->granted.prev 4096-ptr_max
PARAM_VALUE 0 res->granted.prev->next 4096-ptr_max
PARAM_VALUE 0 res->granted.prev->next->next 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->blocked 1
CAPPED_DATA 0 &res->converting 1
CAPPED_DATA 0 &res->granted 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->blocked != $0->blocked.next
PARAM_COMPARE 0 &res->converting == $0->converting.next
BIT_INFO 0 res->state 0x0,0xbfcd
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &dlm->ast_lock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->ast_lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmmaster.c dlm_assert_master_worker() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
BIT_INFO 0 res->state 0x0,0xffdf
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &res->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmmaster.c dlm_mark_lockres_migrating() -> __dlm_lockres_reserve_ast()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->migration_pending 1
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res->owner 1
DATA_SOURCE 0 res $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock