Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/ocfs2/dlm/dlmlock.c dlm_lock_attach_lockres() -> dlm_lockres_get()

Type Parameter Key Value
DATA_SOURCE 0 res $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmlock.c dlmlock() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fp->fp_mutex

fs/ocfs2/dlm/dlmthread.c __dlm_dirty_lockres() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->dirty.next 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *res->lvb 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->dirty 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->dirty == $0->dirty.next
BIT_INFO 0 res->state 0x0,0xefdf
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c __dlm_lockres_calc_usage() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->purge.next 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
CAPPED_DATA 0 res 1
CAPPED_DATA 0 &res->purge 1
DATA_SOURCE 0 res $1
PARAM_COMPARE 0 &res->purge == $0->purge.next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_run_purge_list() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->inflight_assert_workers 0
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 &dlm->spinlock
LOCK2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmthread.c dlm_thread() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &dlm->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock

fs/ocfs2/dlm/dlmdomain.c __dlm_insert_lockres() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 *res->lvb 0-255
BUF_SIZE 0 res->dlm (-1),8,720,1560
DATA_SOURCE 0 res $1
STR_LEN 0 res->dlm (-1),9
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->spinlock
HALF_LOCKED2 &dlm->master_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 0 &res->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock

fs/ocfs2/dlm/dlmdomain.c __dlm_lookup_lockres_full() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->lockname.name 4096-ptr_max
CAPPED_DATA 0 res->lockname.len 1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->spinlock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dlm_ctxt)->spinlock

fs/ocfs2/dlm/dlmdomain.c dlm_migrate_all_locks() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 1-u64max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->spinlock
TYPE_LOCK (struct dlm_ctxt)->spinlock

fs/ocfs2/dlm/dlmdebug.c lockres_seq_start() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
CAPPED_DATA 0 &res->tracking 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dlm->track_lock
LOCK2 &m->lock
TYPE_LOCK (struct dlm_ctxt)->track_lock
TYPE_LOCK (struct seq_file)->lock

fs/ocfs2/dlm/dlmunlock.c dlmunlock() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ocfs2/dlm/dlmrecovery.c dlm_do_local_recovery_cleanup() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->lockname.len 9
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 res->state 64-u16max
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->granted 1
BIT_INFO 0 res->state 0x40,0xffff
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 0 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_do_local_recovery_cleanup() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 res->state 64-u16max
PARAM_VALUE 0 *res->lvb 0-255
CAPPED_DATA 0 res->lockname.len 1
CAPPED_DATA 0 res->owner 1
BIT_INFO 0 res->state 0x40,0xffff
PREEMPT_ADD <- disables preempt
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 0 &res->spinlock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock

fs/ocfs2/dlm/dlmrecovery.c dlm_mig_lockres_handler() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->asts_reserved.counter 0
PARAM_VALUE 0 res->blocked.next 4096-ptr_max
PARAM_VALUE 0 res->blocked.next->next 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev->next 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->converting.next 4096-ptr_max
PARAM_VALUE 0 res->converting.next->next 4096-ptr_max
PARAM_VALUE 0 res->converting.prev 4096-ptr_max
PARAM_VALUE 0 res->converting.prev->next 4096-ptr_max
PARAM_VALUE 0 res->converting.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->dirty.next 4096-ptr_max
PARAM_VALUE 0 res->dirty.next->next 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev->next 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->dlm 4096-ptr_max
PARAM_VALUE 0 res->dlm->lockres_hash 4096-ptr_max
PARAM_VALUE 0 res->granted.next 4096-ptr_max
PARAM_VALUE 0 res->granted.next->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->prev 4096-ptr_max
PARAM_VALUE 0 res->hash_node.next 0
PARAM_VALUE 0 res->hash_node.pprev 0
PARAM_VALUE 0 res->inflight_assert_workers 0
PARAM_VALUE 0 res->inflight_locks 0
PARAM_VALUE 0 res->last_used 0
PARAM_VALUE 0 res->lockname.len 0-32
PARAM_VALUE 0 res->lockname.name 1-u64max
PARAM_VALUE 0 res->migration_pending 0
PARAM_VALUE 0 res->owner 255
PARAM_VALUE 0 res->purge.next 4096-ptr_max
PARAM_VALUE 0 res->purge.next->next 4096-ptr_max
PARAM_VALUE 0 res->purge.prev 4096-ptr_max
PARAM_VALUE 0 res->purge.prev->next 4096-ptr_max
PARAM_VALUE 0 res->purge.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->recovering.next 4096-ptr_max
PARAM_VALUE 0 res->recovering.next->next 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev->next 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->refs.refcount.refs.counter 1
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 res->state 16
PARAM_VALUE 0 res->tracking.next 4096-ptr_max
PARAM_VALUE 0 res->tracking.next->next 4096-ptr_max
PARAM_VALUE 0 res->tracking.prev->next 4096-ptr_max
PARAM_VALUE 0 res->tracking.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->wq.head.next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 *res->lvb 0-255
BUF_SIZE 0 res->dlm 720
CAPPED_DATA 0 res->lockname.len 1
DATA_SOURCE 0 res r dlm_new_lockres
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmrecovery.c dlm_mig_lockres_handler() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->asts_reserved.counter 0
PARAM_VALUE 0 res->blocked.next 4096-ptr_max
PARAM_VALUE 0 res->blocked.next->next 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev->next 4096-ptr_max
PARAM_VALUE 0 res->blocked.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->converting.next 4096-ptr_max
PARAM_VALUE 0 res->converting.next->next 4096-ptr_max
PARAM_VALUE 0 res->converting.prev 4096-ptr_max
PARAM_VALUE 0 res->converting.prev->next 4096-ptr_max
PARAM_VALUE 0 res->converting.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->dirty.next 4096-ptr_max
PARAM_VALUE 0 res->dirty.next->next 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev->next 4096-ptr_max
PARAM_VALUE 0 res->dirty.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->dlm 4096-ptr_max
PARAM_VALUE 0 res->dlm->lockres_hash 4096-ptr_max
PARAM_VALUE 0 res->granted.next 4096-ptr_max
PARAM_VALUE 0 res->granted.next->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->prev 4096-ptr_max
PARAM_VALUE 0 res->hash_node->pprev 4096-ptr_max
PARAM_VALUE 0 res->hash_node.pprev 4096-ptr_max
PARAM_VALUE 0 res->inflight_assert_workers 0
PARAM_VALUE 0 res->inflight_locks 0
PARAM_VALUE 0 res->last_used 0
PARAM_VALUE 0 res->lockname.len 0-32
PARAM_VALUE 0 res->lockname.name 1-u64max
PARAM_VALUE 0 res->migration_pending 0
PARAM_VALUE 0 res->owner 255
PARAM_VALUE 0 res->purge.next 4096-ptr_max
PARAM_VALUE 0 res->purge.next->next 4096-ptr_max
PARAM_VALUE 0 res->purge.prev 4096-ptr_max
PARAM_VALUE 0 res->purge.prev->next 4096-ptr_max
PARAM_VALUE 0 res->purge.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->recovering.next 4096-ptr_max
PARAM_VALUE 0 res->recovering.next->next 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev->next 4096-ptr_max
PARAM_VALUE 0 res->recovering.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 res->state 18,48
PARAM_VALUE 0 res->tracking.next 4096-ptr_max
PARAM_VALUE 0 res->tracking.next->next 4096-ptr_max
PARAM_VALUE 0 res->tracking.prev->next 4096-ptr_max
PARAM_VALUE 0 res->tracking.prev->prev 4096-ptr_max
PARAM_VALUE 0 res->wq.head.next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.next->next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 res->wq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 *res->lvb 0-255
BUF_SIZE 0 res->dlm 720
CAPPED_DATA 0 res->lockname.len 1
DATA_SOURCE 0 res r dlm_new_lockres
BIT_INFO 0 res->state 0x10,0x32
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/ocfs2/dlm/dlmrecovery.c dlm_move_lockres_to_recovery_list() -> dlm_lockres_get()

Type Parameter Key Value
PARAM_VALUE 0 res 4096-ptr_max
PARAM_VALUE 0 res->recovering.next 4096-ptr_max
PARAM_VALUE 0 res->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 *res->lvb 0-255
CAPPED_DATA 0 res->lockname.len 1
CAPPED_DATA 0 res->owner 1
CAPPED_DATA 0 &res->recovering 1
DATA_SOURCE 0 res $1
BIT_INFO 0 res->state 0x2,0xffff
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
LOCK2 &dlm->spinlock
LOCK2 0 &res->spinlock
HALF_LOCKED2 global &o2hb_callback_sem
TYPE_LOCK (struct dlm_ctxt)->spinlock
TYPE_LOCK (struct dlm_lock_resource)->spinlock