Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

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->ti 4096-ptr_max
PARAM_VALUE 0 wc->ti->table 4096-ptr_max
PARAM_VALUE 0 wc->ti->table->md 4096-ptr_max
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
DATA_SOURCE 0 wc $2
NOCHECK_CALL
LOCK2 &md->io_barrier
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->io_barrier

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

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
DATA_SOURCE 0 wc $0
NOCHECK_CALL
LOCK2 0 &wc->lock
TYPE_LOCK (struct dm_writecache)->lock

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

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
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

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

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->pmem_mode 1
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
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_map_write() -> writecache_flush()

Type Parameter Key Value
PARAM_VALUE 0 wc 4096-ptr_max
PARAM_VALUE 0 wc->error 0-s32max
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
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
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_suspend() -> writecache_flush()

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->max_age_timer.entry.pprev 0
PARAM_VALUE 0 wc->max_age_timer.flags 0-4194302
PARAM_VALUE 0 wc->max_age_timer.function 0
BUF_SIZE 0 wc 16,40-s32max
BUF_SIZE 0 wc 16,40-s32max
CAPPED_DATA 0 &wc->autocommit_timer 1
CAPPED_DATA 0 &wc->max_age_timer 1
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &md->suspend_lock
TYPE_LOCK (struct dm_writecache)->lock
TYPE_LOCK (struct mapped_device)->suspend_lock

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

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->writeback_all 1-u32max
PARAM_VALUE 0 wc->writeback_size 0
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock

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

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
CAPPED_DATA 0 wc->pause 1
CAPPED_DATA 0 wc->seq_count 1
CAPPED_DATA 0 &wc->lru 1
PARAM_COMPARE 0 &wc->lru != $0->lru.next
NOCHECK_CALL
LOCK2 0 &wc->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct dm_writecache)->lock