Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- drivers/md/dm-pcache/cache.h, line 474
- drivers/md/dm-pcache/cache_key.c
- drivers/md/dm-pcache/cache_req.c
- drivers/md/dm-pcache/cache_writeback.c, line 183
Smatch caller information:
drivers/md/dm-pcache/cache_req.c cache_key_delete() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree | 1-u64max |
| PARAM_VALUE | 0 | key->cache_subtree->root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | key->flags | 0 |
| PARAM_VALUE | 0 | key->rb_node.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 0 | key->rb_node.rb_right | 0,4096-ptr_max |
| BUF_SIZE | 0 | key->cache_tree | (-1),224 |
| CAPPED_DATA | 0 | &key->rb_node | 1 |
| DATA_SOURCE | 0 | key | $0 |
| NOSPEC | 0 | key->len | |
| PREEMPT_ADD | |||
| 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 | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_req.c cache_miss_req_free() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/md/dm-pcache/cache_req.c cache_miss_req_free() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/md/dm-pcache/cache_req.c cache_miss_req_init() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| 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 cache_miss_req_init() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| 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 cache_write() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-4194304 |
| 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 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | key->len | 1-4194304[c] |
| HOST_DATA | 0 | key->off | 4194304[c] |
| USER_DATA | 0 | key->len | 1-4194304[c] |
| USER_DATA | 0 | key->off | 4194304[c] |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| HALF_LOCKED2 | &md->io_barrier |
drivers/md/dm-pcache/cache_req.c cache_write() -> cache_key_put()
| 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_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-4194304 |
| 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 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 0 | key->len | 1-4194304[c] |
| HOST_DATA | 0 | key->off | 4194304[c] |
| USER_DATA | 0 | key->len | 1-4194304[c] |
| USER_DATA | 0 | key->off | 4194304[c] |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| HALF_LOCKED2 | &md->io_barrier |
drivers/md/dm-pcache/cache_req.c miss_read_end_req() -> cache_key_put()
| 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 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/md/dm-pcache/cache_key.c cache_key_delete() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree | 1-u64max |
| PARAM_VALUE | 0 | key->cache_subtree->root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | key->flags | 0 |
| PARAM_VALUE | 0 | key->rb_node.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 0 | key->rb_node.rb_right | 0,4096-ptr_max |
| CAPPED_DATA | 0 | &key->rb_node | 1 |
| DATA_SOURCE | 0 | key | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c cache_key_insert() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->prev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| 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 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &cache_subtree->tree_lock | ||
| TYPE_LOCK | (struct pcache_cache_subtree)->tree_lock |
drivers/md/dm-pcache/cache_key.c fixup_overlap_contained() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 0 |
| 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 kset_replay() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-u32max |
| PARAM_VALUE | 0 | key->list_node.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->prev | 4096-ptr_max |
| BUF_SIZE | 0 | key->cache_tree | (-1),224 |
| DATA_SOURCE | 0 | key | r cache_key_alloc |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| HALF_LOCKED2 | &md->type_lock |
drivers/md/dm-pcache/cache_key.c kset_replay() -> cache_key_put()
| 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_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-u32max |
| PARAM_VALUE | 0 | key->list_node.next->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | key->list_node.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | key->seg_gen | 0-18446744073709551614 |
| BUF_SIZE | 0 | key->cache_tree | (-1),224 |
| CAPPED_DATA | 0 | key->seg_gen | 1 |
| DATA_SOURCE | 0 | key | r cache_key_alloc |
| PARAM_COMPARE | 0 | key->cache_pos.cache_seg->gen | > $0->seg_gen |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| HALF_LOCKED2 | &md->type_lock |
drivers/md/dm-pcache/cache_writeback.c cache_key_delete() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_subtree | 1-u64max |
| PARAM_VALUE | 0 | key->cache_subtree->root.rb_node | 4096-ptr_max |
| PARAM_VALUE | 0 | key->flags | 0 |
| PARAM_VALUE | 0 | key->rb_node.rb_left | 0,4096-ptr_max |
| PARAM_VALUE | 0 | key->rb_node.rb_right | 0,4096-ptr_max |
| CAPPED_DATA | 0 | &key->rb_node | 1 |
| DATA_SOURCE | 0 | key | $0 |
| NOCHECK_CALL | |||
| UNITS | 0 | key | unit_byte |
| LOCK2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |
drivers/md/dm-pcache/cache_writeback.c cache_kset_insert_tree() -> cache_key_put()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | key | 4096-ptr_max |
| PARAM_VALUE | 0 | key->cache_tree | 4096-ptr_max |
| PARAM_VALUE | 0 | key->len | 1-u32max |
| BUF_SIZE | 0 | key->cache_tree | (-1),224 |
| DATA_SOURCE | 0 | key | r cache_key_alloc |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->key_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 0 | key->cache_tree->n_subtrees | |
| LOCK2 | &cache->writeback_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct pcache_cache)->writeback_lock |