Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-writecache.c __writecache_writeback_pmem() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
DATA_SOURCE 0 wc $0
BIT_INFO 1 e 0x2fc7f4531db7afe8,0x2fc7f4531db7afe8
HALF_LOCKED2 &pool->lock

drivers/md/dm-writecache.c __writecache_writeback_pmem() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
DATA_SOURCE 0 wc $0
BIT_INFO 1 e 0x2fc7f4531db7afe8,0x2fc7f4531db7afe8
HALF_LOCKED2 &pool->lock

drivers/md/dm-writecache.c __writecache_writeback_pmem() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
DATA_SOURCE 0 wc $0
BIT_INFO 1 e 0x2fc7f4531db7afe8,0xffffffffffffffff
BIT_INFO 1 e 0x2fc7f4531db7afe8,0xffffffffffffffff
HALF_LOCKED2 &pool->lock

drivers/md/dm-writecache.c __writecache_writeback_ssd() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
DATA_SOURCE 0 wc $0
BIT_INFO 1 e 0x2fc7f4531db7afe8,0xffffffffffffffff
BIT_INFO 1 e 0x2fc7f4531db7afe8,0xffffffffffffffff
HALF_LOCKED2 &pool->lock

drivers/md/dm-writecache.c writecache_bio_copy_ssd() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
CAPPED_DATA 1 e 1
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
LOCK2 0 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-writecache.c writecache_bio_copy_ssd() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
DATA_SOURCE 1 e $2 [m]
PARAM_COMPARE 1 &e->rb_node != $1->rb_node.__rb_parent_color
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
LOCK2 0 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-writecache.c writecache_discard() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc (-1),16,40-s32max
BUF_SIZE 0 wc (-1),16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_discard() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc (-1),16,40-s32max
BUF_SIZE 0 wc (-1),16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_find_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
UNITS 1 e unit_byte
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_find_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
UNITS 1 e unit_byte
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_find_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
UNITS 1 e unit_byte
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_find_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
UNITS 1 e unit_byte
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_flush() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc (-1),16,40-s32max
BUF_SIZE 0 wc (-1),16,40-s32max
CAPPED_DATA 0 wc->metadata_sectors 1
CAPPED_DATA 0 &wc->lru 1
DATA_SOURCE 0 wc $0
PARAM_COMPARE 0 &wc->lru != $0->lru.next
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_flush() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc (-1),16,40-s32max
BUF_SIZE 0 wc (-1),16,40-s32max
CAPPED_DATA 0 wc->metadata_sectors 1
CAPPED_DATA 0 &wc->lru 1
DATA_SOURCE 0 wc $0
PARAM_COMPARE 0 &wc->lru != $0->lru.next
PARAM_COMPARE 1 &e->rb_node != $1->rb_node.__rb_parent_color
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_insert_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_insert_entry() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
DATA_SOURCE 1 e $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_map_read() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
DATA_SOURCE 1 e r writecache_find_entry
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
LOCK2 0 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-writecache.c writecache_map_remap_origin() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $0
DATA_SOURCE 1 e $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &md->io_barrier
LOCK2 0 &wc->lock
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-writecache.c writecache_resume() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
CAPPED_DATA 0 wc->n_blocks 1
CAPPED_DATA 0 wc->seq_count 1
PARAM_COMPARE 0 wc->data_device_sectors == $0->dev->bdev->bd_nr_sectors
BIT_INFO 0 wc->tree 0x0,0x7fffffffffffffff
LOCK2 &md->suspend_lock
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-writecache.c writecache_resume() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
CAPPED_DATA 0 wc->n_blocks 1
CAPPED_DATA 0 wc->seq_count 1
PARAM_COMPARE 0 wc->data_device_sectors == $0->dev->bdev->bd_nr_sectors
BIT_INFO 0 wc->tree 0x0,0x7fffffffffffffff
LOCK2 &md->suspend_lock
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
PARAM_COMPARE 1 &e->rb_node != $1->rb_node.__rb_parent_color
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
PARAM_COMPARE 1 &e->rb_node != $1->rb_node.__rb_parent_color
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_writeback() -> read_original_sector()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 1 e 4096-ptr_max
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
PARAM_COMPARE 1 &e->rb_node != $1->rb_node.__rb_parent_color
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock