Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/gfs2/glock.c __gfs2_glock_dq() -> request_demote()

Type Parameter Key Value
PARAM_VALUE 1 state 0
PARAM_VALUE 2 delay 0
PARAM_VALUE 3 remote 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 gl->gl_name.ln_number 0-u64max
LOCK2 &gl->gl_lockref.lock
HALF_LOCKED2 &fp->f_fl_mutex
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct lockref)->lock

fs/gfs2/glock.c __gfs2_glock_put_or_lock() -> request_demote()

Type Parameter Key Value
PARAM_VALUE 0 gl 4096-ptr_max
PARAM_VALUE 0 gl->gl_lockref.count 1
PARAM_VALUE 0 gl->gl_lockref.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_lockstruct.ls_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_lockstruct.ls_sem.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_log_flush_lock.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_cop->empty_dir 0,86,661756434209751040,4392966320616476672,5234023279986843648,8614756098313990144
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_cop->get_context 0,706,17350455714160640,4513809449498124288,5149251875611672576,7067778626864828416
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_cop->set_context 0,67,317457138841939968,3250154607523569664,5979066299606671360,6756104566897242112
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_ops->go_flags 0,2-3
PARAM_VALUE 0 gl->gl_ops->go_held 0,6179549714839506944
PARAM_VALUE 0 gl->gl_ops->go_subclass 0-1
PARAM_VALUE 0 gl->gl_ops->go_type 1-6,8-9
PARAM_VALUE 0 gl->gl_state 1-3
PARAM_VALUE 1 state 0
PARAM_VALUE 2 delay 0
PARAM_VALUE 3 remote 0
BUF_SIZE 0 gl (-1),168,488
BUF_SIZE 0 gl (-1),168,488
DATA_SOURCE 0 gl $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 gl->gl_name.ln_number 0-u64max
LOCK2 0 &gl->gl_lockref.lock
TYPE_LOCK (struct lockref)->lock

fs/gfs2/glock.c gfs2_glock_cb() -> request_demote()

Type Parameter Key Value
PARAM_VALUE 0 gl 4096-ptr_max
PARAM_VALUE 0 gl->gl_lockref.count 1-s32max
PARAM_VALUE 0 gl->gl_lockref.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_lockstruct.ls_sem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_lockstruct.ls_sem.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->type 0-1
PARAM_VALUE 1 state 0,2-3
PARAM_VALUE 3 remote 1
BUF_SIZE 0 gl (-1),168,488
BUF_SIZE 0 gl (-1),168,488
CAPPED_DATA 0 &gl->gl_holders 1
DATA_SOURCE 0 gl $0
DATA_SOURCE 1 state $1
FUZZY_MAX 1 state 3
HARD_MAX 1 state 3
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 delay unit_jiffy
LOCK2 0 &gl->gl_lockref.lock
HALF_LOCKED2 &of->mutex
TYPE_LOCK (struct lockref)->lock

fs/gfs2/glock.c glock_work_func() -> request_demote()

Type Parameter Key Value
PARAM_VALUE 0 gl 4096-ptr_max
PARAM_VALUE 0 gl->gl_delete.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 gl->gl_delete.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 gl->gl_delete.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 gl->gl_lockref.count 1-s32max
PARAM_VALUE 0 gl->gl_lockref.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_log_flush_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_log_flush_lock.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 gl->gl_name.ln_sbd->sd_vfs->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 gl->gl_ops->go_dump 0,4096-ptr_max
PARAM_VALUE 0 gl->gl_ops->go_flags 0,2-3
PARAM_VALUE 0 gl->gl_ops->go_held 0,4096-ptr_max
PARAM_VALUE 0 gl->gl_ops->go_inval 0,4096-ptr_max
PARAM_VALUE 0 gl->gl_ops->go_subclass 0-1
PARAM_VALUE 0 gl->gl_ops->go_sync 0,4096-ptr_max
PARAM_VALUE 0 gl->gl_ops->go_type 1-6,8-9
PARAM_VALUE 0 gl->gl_state 1-3
PARAM_VALUE 0 gl->gl_work.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 gl->gl_work.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 gl->gl_work.wq->saved_min_active s32min-s32max
PARAM_VALUE 1 state 0
PARAM_VALUE 2 delay 0
PARAM_VALUE 3 remote 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &gl->gl_lockref.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct lockref)->lock

fs/gfs2/glock.c withdraw_glock() -> request_demote()

Type Parameter Key Value
PARAM_VALUE 0 gl 4096-ptr_max
PARAM_VALUE 0 gl->gl_lockref.count s32min-(-129),(-127)-s32max
PARAM_VALUE 0 gl->gl_lockref.lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 gl->gl_name.ln_sbd 4096-ptr_max
PARAM_VALUE 0 gl->gl_ops 4096-ptr_max
PARAM_VALUE 0 gl->gl_ops->go_inval 623440236993929216,1667619148388929536
PARAM_VALUE 0 gl->gl_state 1-3
PARAM_VALUE 1 state 0
PARAM_VALUE 2 delay 0
PARAM_VALUE 3 remote 0
CAPPED_DATA 0 gl->gl_name.ln_sbd 1
DATA_SOURCE 0 gl $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &gl->gl_lockref.lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct lockref)->lock