Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->error 0
PARAM_VALUE 0 wc->lock.dep_map->name 0-255
PARAM_VALUE 0 wc->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wc->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wc->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 wc->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 wc->pmem_mode 0
PARAM_VALUE 0 wc->tree.rb_node 1-u64max
PARAM_VALUE 1 ins 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 ins r writecache_pop_from_freelist
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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_write() -> writecache_insert_entry()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->error 0
PARAM_VALUE 0 wc->lock.dep_map->name 0-255
PARAM_VALUE 0 wc->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wc->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wc->lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 ins 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 ins r writecache_pop_from_freelist
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
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() -> writecache_insert_entry()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->dev 4096-ptr_max
PARAM_VALUE 0 wc->dev->bdev 4096-ptr_max
PARAM_VALUE 0 wc->entries 4096-ptr_max
PARAM_VALUE 0 wc->freelist.next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.next->next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev->next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev->prev 4096-ptr_max
PARAM_VALUE 0 wc->lock.dep_map->name 0-255
PARAM_VALUE 0 wc->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wc->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wc->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 wc->lru.next 4096-ptr_max
PARAM_VALUE 0 wc->lru.next->next 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev->next 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev->prev 4096-ptr_max
PARAM_VALUE 0 wc->n_blocks 1-u64max
PARAM_VALUE 0 wc->seq_count 1-u64max
PARAM_VALUE 0 wc->ssd_dev 4096-ptr_max
PARAM_VALUE 1 ins 4096-ptr_max
PARAM_VALUE 1 ins->seq_count 0-18446744073709551614
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
NOCHECK_CALL
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() -> writecache_insert_entry()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->current_free 4096-ptr_max
PARAM_VALUE 0 wc->dev 4096-ptr_max
PARAM_VALUE 0 wc->dev->bdev 4096-ptr_max
PARAM_VALUE 0 wc->entries 4096-ptr_max
PARAM_VALUE 0 wc->freelist.next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.next->next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev->next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev->next->next 4096-ptr_max
PARAM_VALUE 0 wc->freelist.prev->prev 4096-ptr_max
PARAM_VALUE 0 wc->freetree.rb_node 4096-ptr_max
PARAM_VALUE 0 wc->lock.dep_map->name 0-255
PARAM_VALUE 0 wc->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 wc->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 wc->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 wc->lru.next 4096-ptr_max
PARAM_VALUE 0 wc->lru.next->next 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev->next 4096-ptr_max
PARAM_VALUE 0 wc->lru.prev->prev 4096-ptr_max
PARAM_VALUE 0 wc->n_blocks 1-u64max
PARAM_VALUE 0 wc->seq_count 1-u64max
PARAM_VALUE 0 wc->ssd_dev 4096-ptr_max
PARAM_VALUE 0 wc->tree.rb_node 4096-ptr_max
PARAM_VALUE 1 ins 4096-ptr_max
PARAM_VALUE 1 ins->seq_count 0-18446744073709551614
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
NOCHECK_CALL
LOCK2 &md->suspend_lock
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock