Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/md/dm-writecache.c ssd_commit_flushed() -> writecache_wait_for_ios()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->pmem_mode 0
PARAM_VALUE 1 direction 1
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
NOCHECK_CALL
HOST_DATA 0 wc->stats.discards 0-u64max[c]
USER_DATA 0 wc->stats.discards 0-u64max[c][u]
HALF_LOCKED2 &md->suspend_lock
HALF_LOCKED2 0 &wc->lock

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

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->flush_list.head->bi_next 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 0 wc->pmem_mode 0
PARAM_VALUE 0 wc->tree.rb_node 1-u64max
PARAM_VALUE 1 direction 0
DATA_SOURCE 0 wc $0
RX_PATH
NOCHECK_CALL
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->flush_list.head->bi_next 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 0 wc->pmem_mode 0
PARAM_VALUE 0 wc->tree.rb_node 1-u64max
PARAM_VALUE 1 direction 1
DATA_SOURCE 0 wc $0
RX_PATH
NOCHECK_CALL
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock

drivers/md/dm-writecache.c writecache_endio_thread() -> writecache_wait_for_ios()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.next 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.next->next 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.next->prev 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.prev 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.prev->next 4096-ptr_max
PARAM_VALUE 0 wc->endio_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 wc->endio_list_lock.dep_map->name 0-255
PARAM_VALUE 0 wc->endio_list_lock.owner (-1)
PARAM_VALUE 0 wc->endio_list_lock.owner_cpu u32max
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->pmem_mode 0
PARAM_VALUE 1 direction 0
BUF_SIZE 0 wc 128
BUF_SIZE 0 wc 128
CAPPED_DATA 0 wc->copy_pool.min_nr 1
CAPPED_DATA 0 &wc->endio_list 1
DATA_SOURCE 0 wc $0
NOCHECK_CALL
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->autocommit_timer.entry.pprev 0
PARAM_VALUE 0 wc->autocommit_timer.flags 0-4194302
PARAM_VALUE 0 wc->autocommit_timer.function 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 0 wc->overwrote_committed 1
PARAM_VALUE 0 wc->seq_count 1-u64max
PARAM_VALUE 0 wc->uncommitted_blocks 0
PARAM_VALUE 1 direction 1
BUF_SIZE 0 wc (-1),16,40-s32max
BUF_SIZE 0 wc (-1),16,40-s32max
CAPPED_DATA 0 wc->seq_count 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
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
TYPE_LOCK (struct dm_writecache)->lock

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

Type Parameter Key Value
PARAM_VALUE 0 wc 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->pmem_mode 0
PARAM_VALUE 0 wc->ssd_dev 4096-ptr_max
PARAM_VALUE 0 wc->tree.rb_node 1-u64max
PARAM_VALUE 1 direction 1
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
CAPPED_DATA 0 wc->seq_count 1
DATA_SOURCE 0 wc $0
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_writeback() -> writecache_wait_for_ios()

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 0 wc->overwrote_committed 1
PARAM_VALUE 1 direction 1
CAPPED_DATA 0 wc->pause 1
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock