Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/dm-cache-target.c cache_create() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-target.c cache_create() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-target.c cache_create() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-target.c cache_create() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-target.c cache_preresume() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c cache_status() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b r policy_residency
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c cache_status() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c can_resize() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c can_resize() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c can_resize() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c can_resize() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c can_resize() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0-64
CAPPED_DATA 0 b 1
DATA_SOURCE 0 b r to_cblock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c cblock_succ() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
NO_OVERFLOW_SIMPLE 0 b
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c copy() -> from_cblock()

Type Parameter Key Value

drivers/md/dm-cache-target.c force_clear_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
RX_PATH

drivers/md/dm-cache-target.c force_set_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
RX_PATH

drivers/md/dm-cache-target.c is_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
RX_PATH
TASK_NOT_RUNNING

drivers/md/dm-cache-target.c load_filtered_mapping() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $2
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c load_filtered_mapping() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $2
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c load_mapping() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $2
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c load_mapping() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $2
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c remap_to_cache() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $2
RX_PATH
TASK_NOT_RUNNING

drivers/md/dm-cache-target.c set_cache_size() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-cache-target.c set_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock

drivers/md/dm-cache-target.c truncate_oblocks() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->suspend_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-target.c validate_cblock_range() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c validate_cblock_range() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c validate_cblock_range() -> from_cblock()

Type Parameter Key Value
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-cache-target.c write_dirty_bitset() -> from_cblock()

Type Parameter Key Value
LOCK2 &cache->background_work_lock
LOCK2 &md->suspend_lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __commit_transaction() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
HALF_LOCKED2 &cache->background_work_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock

drivers/md/dm-cache-metadata.c __dirty() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
DATA_SOURCE 0 b $1
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __dirty() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
DATA_SOURCE 0 b $1
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __insert() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock

drivers/md/dm-cache-metadata.c __load_mapping_v1() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __load_mapping_v2() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __load_mappings() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __load_mappings() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 1-u32max
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __load_mappings() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 1-u32max
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c __remove() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock

drivers/md/dm-cache-metadata.c __set_dirty_bits_v2() -> from_cblock()

Type Parameter Key Value
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c block_clean_combined_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_combined_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1 [m]
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_combined_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1 [m]
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_separate_dirty() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_separate_dirty() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 1-u32max
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_separate_dirty() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0-4294967294
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_separate_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1 [m]
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c blocks_are_clean_separate_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1 [m]
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c dm_cache_resize() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-metadata.c write_hints() -> from_cblock()

Type Parameter Key Value
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-policy-smq.c __complete_background_work() -> from_cblock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 1-u32max
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
CAPPED_DATA 0 b 1
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_create() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $0
HALF_LOCKED2 &md->type_lock

drivers/md/dm-cache-policy-smq.c __smq_set_clear_dirty() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c end_cache_period() -> from_cblock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c free_target_met() -> from_cblock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c percent_to_target() -> from_cblock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c random_level() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $0
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-policy-smq.c requeue() -> from_cblock()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &mq->lock
LOCK2 flags
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct smq_policy)->lock

drivers/md/dm-cache-policy-smq.c smq_get_hint() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
LOCK2 &cache->background_work_lock
LOCK2 &cmd->root_lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct cache)->background_work_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-cache-policy-smq.c smq_invalidate_mapping() -> from_cblock()

Type Parameter Key Value
DATA_SOURCE 0 b $1
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-cache-policy-smq.c smq_load_mapping() -> from_cblock()

Type Parameter Key Value
PARAM_VALUE 0 b 0
DATA_SOURCE 0 b $2
LOCK2 &cmd->root_lock
LOCK2 &md->suspend_lock
TYPE_LOCK (struct dm_cache_metadata)->root_lock
TYPE_LOCK (struct mapped_device)->suspend_lock