Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

drivers/md/dm-pcache/cache_req.c cache_data_alloc() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
BUF_SIZE 0 pos 16
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cache_subtree->tree_lock

drivers/md/dm-pcache/cache_key.c cache_kset_close() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cache->key_head_lock
LOCK2 &kset->kset_lock
HALF_LOCKED2 &cache_subtree->tree_lock
TYPE_LOCK (struct pcache_cache)->key_head_lock
TYPE_LOCK (struct pcache_cache_kset)->kset_lock

drivers/md/dm-pcache/cache_key.c cache_pos_advance() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
BUF_SIZE 0 pos (-1),16
BUF_SIZE 0 pos (-1),16
DATA_SOURCE 0 pos $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cache->dirty_tail_lock
HALF_LOCKED2 &cache->key_head_lock
HALF_LOCKED2 &cache->key_tail_lock
HALF_LOCKED2 &cache->writeback_lock
HALF_LOCKED2 &cache_subtree->tree_lock
HALF_LOCKED2 &kset->kset_lock

drivers/md/dm-pcache/cache_key.c cache_replay() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 6157038726018416640
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
BUF_SIZE 0 pos 16
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_key.c cache_replay() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 6157038726018416640
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
BUF_SIZE 0 pos 16
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_key.c cache_verify_dirty_tail() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 5349008258904653824
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_key.c cache_verify_dirty_tail() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 5349008258904653824
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
HALF_LOCKED2 &md->type_lock

drivers/md/dm-pcache/cache_writeback.c cache_key_writeback() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4096-ptr_max
BUF_SIZE 0 pos 16
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/md/dm-pcache/cache_writeback.c cache_writeback_fn() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4847649631839784960
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/md/dm-pcache/cache_writeback.c is_cache_clean() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 4847649631839784960
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
DATA_SOURCE 0 pos $1
LOCK2 &cache->writeback_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pcache_cache)->writeback_lock

drivers/md/dm-pcache/cache_gc.c need_gc() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 8133516313690644480
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
DATA_SOURCE 0 pos $2
HALF_LOCKED2 &pool->lock

drivers/md/dm-pcache/cache_gc.c pcache_cache_gc_fn() -> cache_seg_remain()

Type Parameter Key Value
PARAM_VALUE 0 pos 8133516313690644480
PARAM_VALUE 0 pos->cache_seg 4096-ptr_max
HALF_LOCKED2 &pool->lock