Defined in 3 files as a function:
- drivers/md/dm-cache-target.c, line 725 (as a function)
- drivers/md/dm-era-target.c, line 1236 (as a function)
- drivers/md/dm-thin.c, line 730 (as a function)
Referenced in 3 files:
Smatch caller information:
drivers/md/dm-cache-target.c cache_map() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| PARAM_VALUE | 1 | bio->bi_end_io | 3905977605003870208 |
| PARAM_VALUE | 1 | bio->bi_next | 0 |
| BUF_SIZE | 0 | cache | 16,40-s32max |
| BUF_SIZE | 0 | cache | 16,40-s32max |
| BUF_SIZE | 1 | bio | (-1),144 |
| BUF_SIZE | 1 | bio | (-1),144 |
| DATA_SOURCE | 1 | bio | $1 |
| NOSPEC | 1 | bio->bi_iter.bi_sector | |
| NOSPEC | 1 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| HOST_DATA | 1 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 1 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| USER_DATA | 1 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 1 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 1 | bio->bi_pool->bvec_pool.min_nr | |
| LOCK2 | &md->io_barrier | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->swap_bios_semaphore | ||
| TYPE_LOCK | (struct mapped_device)->io_barrier |
drivers/md/dm-cache-target.c overwrite() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->features.io_mode | 0 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| PARAM_VALUE | 1 | bio->bi_end_io | 3502486105687707648 |
| PARAM_VALUE | 1 | bio->bi_private | 4096-ptr_max |
| NOCHECK_CALL |
drivers/md/dm-cache-target.c process_discard_bio() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->deferred_bios.head | 0 |
| PARAM_VALUE | 0 | cache->deferred_bios.tail | 0 |
| PARAM_VALUE | 0 | cache->features.discard_passdown | 1 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| PARAM_VALUE | 1 | bio->bi_next | 0 |
| CAPPED_DATA | 0 | cache->discard_block_size | 1 |
| DATA_SOURCE | 0 | cache | $0 |
| DATA_SOURCE | 1 | bio | $1 |
| BIT_INFO | 1 | bio->bi_opf | 0x0,0xfffbffff |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/md/dm-cache-target.c process_flush_bio() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->deferred_bios.head | 0 |
| PARAM_VALUE | 0 | cache->deferred_bios.tail | 0 |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| PARAM_VALUE | 1 | bio->bi_next | 0 |
| DATA_SOURCE | 0 | cache | $0 |
| DATA_SOURCE | 1 | bio | $1 |
| BIT_INFO | 1 | bio->bi_opf | 0x40000,0xffffffffffffffff |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
drivers/md/dm-cache-target.c remap_to_origin_clear_discard() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->need_tick_bio | 0 |
| BUF_SIZE | 0 | cache | (-1),16,40-s32max |
| BUF_SIZE | 0 | cache | (-1),16,40-s32max |
| BUF_SIZE | 1 | bio | (-1),144 |
| BUF_SIZE | 1 | bio | (-1),144 |
| DATA_SOURCE | 0 | cache | $0 |
| DATA_SOURCE | 1 | bio | $1 |
| NOSPEC | 1 | bio->bi_iter.bi_sector | |
| NOSPEC | 1 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| HOST_DATA | 1 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 1 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| USER_DATA | 1 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
drivers/md/dm-era-target.c era_map() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| PARAM_VALUE | 1 | bio->bi_end_io | 3905977605003870208 |
| PARAM_VALUE | 1 | bio->bi_next | 0 |
| BUF_SIZE | 0 | cache | 16,40-s32max |
| BUF_SIZE | 0 | cache | 16,40-s32max |
| BUF_SIZE | 1 | bio | (-1),144 |
| BUF_SIZE | 1 | bio | (-1),144 |
| DATA_SOURCE | 1 | bio | $1 |
| NOSPEC | 1 | bio->bi_iter.bi_sector | |
| NOSPEC | 1 | bio->bi_iter.bi_size | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HOST_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| HOST_DATA | 1 | bio->bi_iter.bi_size | 0[c] |
| HOST_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| USER_DATA | 1 | bio->bi_ioprio | 0-u16max |
| USER_DATA | 1 | bio->bi_iter.bi_sector | 0 |
| USER_DATA | 1 | bio->bi_iter.bi_size | 0 |
| USER_DATA | 1 | bio->bi_max_vecs | 0-4,16,64,128,256[c] |
| NO_OVERFLOW_SIMPLE | 1 | bio->bi_pool->bio_pool.min_nr | |
| NO_OVERFLOW_SIMPLE | 1 | bio->bi_pool->bvec_pool.min_nr | |
| LOCK2 | &md->io_barrier | ||
| HALF_LOCKED2 | &bio->bi_bdev->bd_queue->queue_lock | ||
| HALF_LOCKED2 | &md->swap_bios_semaphore | ||
| TYPE_LOCK | (struct mapped_device)->io_barrier |
drivers/md/dm-thin.c remap_to_origin_and_issue() -> remap_to_origin()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | cache | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->origin_dev | 1-u64max |
| PARAM_VALUE | 0 | cache->pool | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->pool->all_io_ds->current_entry | 0-4294967295 |
| PARAM_VALUE | 0 | cache->pool->next_mapping | 1-u64max |
| PARAM_VALUE | 0 | cache->pool->next_mapping->tc->td->changed | 0-1 |
| PARAM_VALUE | 0 | cache->pool->pmd->data_block_size | 0-s64max |
| PARAM_VALUE | 0 | cache->pool->pmd->fail_io | 0-1 |
| PARAM_VALUE | 0 | cache->pool->pmd->flags | 0-s64max |
| PARAM_VALUE | 0 | cache->pool->pmd->in_service | 0-1 |
| PARAM_VALUE | 0 | cache->pool->pmd->time | 0-4294967295 |
| PARAM_VALUE | 0 | cache->pool->shared_read_ds->current_entry | 0-4294967295 |
| PARAM_VALUE | 0 | cache->pool->throttle.lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 0 | cache->td | 4096-ptr_max |
| PARAM_VALUE | 0 | cache->td->changed | 0-1 |
| PARAM_VALUE | 0 | cache->td->pmd->root_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | cache->td->pmd->root_lock.first_waiter->handoff_set | 1 |
| PARAM_VALUE | 0 | cache->td->pmd->root_lock.first_waiter->list.next | 2212933610777083904 |
| PARAM_VALUE | 0 | cache->td->pmd->root_lock.first_waiter->list.prev | 2212933610777083904 |
| PARAM_VALUE | 0 | cache->td->pmd->root_lock.first_waiter->type | 0-1 |
| PARAM_VALUE | 1 | bio | 4096-ptr_max |
| DATA_SOURCE | 0 | cache | $0 |
| DATA_SOURCE | 1 | bio | $1 |
| NOCHECK_CALL | |||
| LOCK2 | &pool->lock |