Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 5 files:
- drivers/md/dm-pcache/cache.h, line 447
- drivers/md/dm-pcache/cache_gc.c, line 180
- drivers/md/dm-pcache/cache_key.c
- drivers/md/dm-pcache/cache_req.c
- drivers/md/dm-pcache/cache_writeback.c, line 24
Smatch caller information:
drivers/md/dm-pcache/cache_req.c cache_data_alloc() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| PARAM_VALUE | 1 | len | 0-4294967294 |
| BUF_SIZE | 0 | pos | 16 |
| CAPPED_DATA | 1 | len | 1 |
| NOSPEC | 1 | len | |
| NOSPEC | 1 | len | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | len | 1-4194304[c] |
| USER_DATA | 1 | len | 1-4194304[c] |
| UNITS | 1 | len | unit_byte |
| HALF_LOCKED2 | &cache_subtree->tree_lock |
drivers/md/dm-pcache/cache_req.c cache_data_alloc() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| PARAM_VALUE | 1 | len | 1-u32max |
| BUF_SIZE | 0 | pos | 16 |
| CAPPED_DATA | 1 | len | 1 |
| DATA_SOURCE | 1 | len | r cache_seg_remain |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | len | unit_byte |
| HALF_LOCKED2 | &cache_subtree->tree_lock |
drivers/md/dm-pcache/cache_req.c cache_key_cutfront() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 1-u64max |
| DATA_SOURCE | 1 | len | $1 |
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | len | unit_byte |
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c read_overlap_contained() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 2505119098948116480 |
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c read_overlap_head() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 7121733495002456064 |
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c append_last_kset() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| PARAM_VALUE | 1 | len | 24 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | len | unit_byte |
| 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_key_cutfront() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 1-u64max |
| DATA_SOURCE | 1 | len | $1 |
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c cache_kset_close() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| DATA_SOURCE | 1 | len | r size_add |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | len | unit_byte |
| 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_replay() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 6157038726018416640 |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| BUF_SIZE | 0 | pos | 16 |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &md->type_lock |
drivers/md/dm-pcache/cache_key.c cache_verify_dirty_tail() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 5349008258904653824 |
| PARAM_VALUE | 0 | pos->cache_seg | 4096-ptr_max |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &md->type_lock |
drivers/md/dm-pcache/cache_writeback.c writeback_ctx_end() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache->dirty_tail_lock | ||
| LOCK2 | &cache->writeback_lock | ||
| TYPE_LOCK | (struct pcache_cache)->dirty_tail_lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |
drivers/md/dm-pcache/cache_gc.c pcache_cache_gc_fn() -> cache_pos_advance()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | pos | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &cache->key_tail_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->key_tail_lock |