Defined in 1 files as a function:
Referenced in 3 files:
- drivers/md/dm-pcache/cache_key.c
- drivers/md/dm-pcache/cache_req.c
- drivers/md/dm-pcache/cache_writeback.c, line 162
Smatch caller information:
drivers/md/dm-pcache/cache_req.c cache_read() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->next | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c cache_write() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_subtree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-4194304 |
| PARAM_VALUE | 0 | key->rb_node.__rb_parent_color | 1 |
| PARAM_VALUE | 0 | key->rb_node.rb_left | 4096-ptr_max |
| PARAM_VALUE | 0 | key->rb_node.rb_right | 4096-ptr_max |
| BUF_SIZE | 0 | key->cache_tree | (-1),224 |
| CAPPED_DATA | 0 | key->len | 1 |
| DATA_SOURCE | 0 | key | r cache_key_alloc |
| NOSPEC | 0 | key->len | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | key->len | 1-4194304[c] |
| USER_DATA | 0 | key->len | 1-4194304[c] |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &md->io_barrier | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->tree_lock.rlock.dep_map->name | 0-255 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 1-u64max |
| PARAM_VALUE | 0 | key->cache_subtree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->tree_lock.rlock.dep_map->name | 0-255 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_subtree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->tree_lock.rlock.dep_map->name | 0-255 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->cache->seg_map_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->cache_subtree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->tree_lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | key->len | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c read_overlap_contain() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen | 1-u64max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| CAPPED_DATA | 0 | key->cache_pos.cache_seg->gen | 1 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| DATA_SOURCE | 0 | key | $1 |
| PARAM_COMPARE | 0 | key->cache_pos.cache_seg->gen | > $0->seg_gen |
| 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_contained() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| DATA_SOURCE | 0 | key | $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_req.c read_overlap_head() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| DATA_SOURCE | 0 | key | $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_req.c read_overlap_tail() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen | 1-u64max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| CAPPED_DATA | 0 | key->cache_pos.cache_seg->gen | 1 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| DATA_SOURCE | 0 | key | $1 |
| PARAM_COMPARE | 0 | key->cache_pos.cache_seg->gen | > $0->seg_gen |
| 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_key_insert() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree->root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->next | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c cache_tree_clear() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &cache->writeback_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c clean_fn() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_pos.cache_seg->gen | 1-u64max |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| CAPPED_DATA | 0 | key->cache_pos.cache_seg->gen | 1 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| PARAM_COMPARE | 0 | key->cache_pos.cache_seg->gen | > $0->seg_gen |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &cache_subtree->tree_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c fixup_overlap_contain() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| DATA_SOURCE | 0 | key | $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 fixup_overlap_contained() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 0 |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| DATA_SOURCE | 0 | key | $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 fixup_overlap_contained() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 0 |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| DATA_SOURCE | 0 | key | $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 fixup_overlap_head() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 0 |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| DATA_SOURCE | 0 | key | $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 fixup_overlap_tail() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->off | 0-18446744073709551614 |
| DATA_SOURCE | 0 | key | $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 fixup_overlap_tail() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 0 |
| DATA_SOURCE | 0 | key | $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_writeback.c cache_wb_tree_writeback() -> cache_key_delete()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| NOCHECK_CALL | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |