Defined in 3 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/md/dm-clone-target.c complete_overwrite_bio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->deferred_flush_completions.head 4096-ptr_max
PARAM_VALUE 0 clone->deferred_flush_completions.tail 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->mode 0
DATA_SOURCE 0 clone $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c do_waker() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-clone-target.c enable_hydration() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
DATA_SOURCE 0 clone $0
NOCHECK_CALL
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-clone-target.c hydration_kcopyd_callback() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->ios_in_flight.counter 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c issue_bio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->cmd->bitmap_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->deferred_flush_bios.head 4096-ptr_max
PARAM_VALUE 0 clone->deferred_flush_bios.tail 4096-ptr_max
PARAM_VALUE 0 clone->dest_dev 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->mode 0
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
DATA_SOURCE 0 clone $0
NOSPEC 0 clone->deferred_flush_bios.head->bi_iter.bi_sector
NOSPEC 0 clone->deferred_flush_bios.head->bi_iter.bi_size
NOSPEC 0 clone->deferred_flush_bios.tail->bi_iter.bi_sector
NOSPEC 0 clone->deferred_flush_bios.tail->bi_iter.bi_size
NOSPEC 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_sector
NOSPEC 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 clone->deferred_flush_bios.head->bi_iter.bi_sector 0
HOST_DATA 0 clone->deferred_flush_bios.head->bi_iter.bi_size 0[c]
HOST_DATA 0 clone->deferred_flush_bios.head->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_iter.bi_sector 0
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_iter.bi_size 0[c]
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_max_vecs 0-4,16,64,128,256[c]
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_sector 0
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_size 0[c]
HOST_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 clone->deferred_flush_bios.head->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_flush_bios.head->bi_iter.bi_sector 0
USER_DATA 0 clone->deferred_flush_bios.head->bi_iter.bi_size 0
USER_DATA 0 clone->deferred_flush_bios.head->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 clone->deferred_flush_bios.tail->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_flush_bios.tail->bi_iter.bi_sector 0
USER_DATA 0 clone->deferred_flush_bios.tail->bi_iter.bi_size 0
USER_DATA 0 clone->deferred_flush_bios.tail->bi_max_vecs 0-4,16,64,128,256[c]
USER_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_sector 0
USER_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_iter.bi_size 0
USER_DATA 0 clone->deferred_flush_bios.tail->bi_next->bi_max_vecs 0-4,16,64,128,256[c]
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-clone-target.c issue_deferred_bios() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
DATA_SOURCE 0 clone $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/md/dm-clone-target.c process_discard_bio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->cmd 4096-ptr_max
PARAM_VALUE 0 clone->cmd->hydration_done 0
PARAM_VALUE 0 clone->deferred_discard_bios.head 4096-ptr_max
PARAM_VALUE 0 clone->deferred_discard_bios.tail 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->mode 0
PARAM_VALUE 0 clone->nr_regions 1-u64max
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
CAPPED_DATA 0 clone->nr_regions 1
DATA_SOURCE 0 clone $0
NOSPEC 0 clone->deferred_discard_bios.head->bi_iter.bi_size
NOSPEC 0 clone->deferred_discard_bios.tail->bi_iter.bi_size
NOSPEC 0 clone->deferred_discard_bios.tail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 clone->deferred_discard_bios.head->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 clone->deferred_discard_bios.tail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 clone->deferred_discard_bios.tail->bi_next->bi_iter.bi_size 0-u32max[c]
USER_DATA 0 clone->deferred_discard_bios.head->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_discard_bios.head->bi_iter.bi_size 0-u32max
USER_DATA 0 clone->deferred_discard_bios.tail->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_discard_bios.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 clone->deferred_discard_bios.tail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_discard_bios.tail->bi_next->bi_iter.bi_size 0-u32max
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-clone-target.c set_hydration_threshold() -> wake_worker()

Type Parameter Key Value
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
DATA_SOURCE 0 clone $0
NOCHECK_CALL
LOCK2 &md->io_barrier
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-era-target.c defer_bio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->deferred_bios.head 4096-ptr_max
PARAM_VALUE 0 clone->deferred_bios.head->bi_next 0
PARAM_VALUE 0 clone->deferred_bios.tail 4096-ptr_max
PARAM_VALUE 0 clone->deferred_bios.tail->bi_next 0
PARAM_VALUE 0 clone->deferred_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->md 4096-ptr_max
PARAM_VALUE 0 clone->md->current_writeset 4096-ptr_max
PARAM_VALUE 0 clone->md->current_writeset->bits 4096-ptr_max
PARAM_VALUE 0 clone->origin_dev 4096-ptr_max
PARAM_VALUE 0 clone->ti 4096-ptr_max
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
DATA_SOURCE 0 clone $0
NOSPEC 0 clone->deferred_bios.head->bi_iter.bi_size
NOSPEC 0 clone->deferred_bios.tail->bi_iter.bi_size
NOSPEC 0 clone->deferred_bios.tail->bi_next->bi_iter.bi_size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 clone->deferred_bios.head->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 clone->deferred_bios.tail->bi_iter.bi_size 0-u32max[c]
HOST_DATA 0 clone->deferred_bios.tail->bi_next->bi_iter.bi_size 0-u32max[c]
USER_DATA 0 clone->deferred_bios.head->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_bios.head->bi_iter.bi_size 0-u32max
USER_DATA 0 clone->deferred_bios.tail->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_bios.tail->bi_iter.bi_size 0-u32max
USER_DATA 0 clone->deferred_bios.tail->bi_next->bi_ioprio 0-u16max
USER_DATA 0 clone->deferred_bios.tail->bi_next->bi_iter.bi_size 0-u32max
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-era-target.c perform_rpc() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->rpc_calls.next 3696365544737660928,6238096514543349760
PARAM_VALUE 0 clone->rpc_calls.next->next 3696365544737660928,6238096514543349760
PARAM_VALUE 0 clone->rpc_calls.next->prev 3696365544737660928,6238096514543349760
PARAM_VALUE 0 clone->rpc_lock.rlock.dep_map->name 0-255
BUF_SIZE 0 clone 16,40-s32max
BUF_SIZE 0 clone 16,40-s32max
DATA_SOURCE 0 clone $0
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier

drivers/md/dm-era-target.c process_old_eras() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->digest.current_bit 0
PARAM_VALUE 0 clone->digest.info.array_info.btree_info.levels 0-1
PARAM_VALUE 0 clone->digest.info.array_info.btree_info.value_type.dec 0,2706716531669463040
PARAM_VALUE 0 clone->digest.info.array_info.btree_info.value_type.equal 0,6118488563768561664
PARAM_VALUE 0 clone->digest.info.array_info.btree_info.value_type.inc 0,4251253500904906752
PARAM_VALUE 0 clone->digest.info.array_info.btree_info.value_type.size 0,8
PARAM_VALUE 0 clone->digest.info.array_info.tm 0
PARAM_VALUE 0 clone->digest.info.array_info.value_type.size 0,8
PARAM_VALUE 0 clone->digest.info.current_bits 0
PARAM_VALUE 0 clone->digest.info.current_index 0
PARAM_VALUE 0 clone->digest.info.current_index_set 0
PARAM_VALUE 0 clone->digest.info.dirty 0
PARAM_VALUE 0 clone->digest.step 6110364758675456,4761933218535211008,5896458705936015360
PARAM_VALUE 0 clone->md 4096-ptr_max
PARAM_VALUE 0 clone->md->archived_writesets 0
DATA_SOURCE 0 clone $0
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 clone->digest.info.array_info.btree_info.tm->real->bm->bufio->block_size
NO_OVERFLOW_SIMPLE 0 clone->md->era_array_info.btree_info.tm->bm->bufio->block_size
HALF_LOCKED2 &pool->lock

drivers/md/dm-thin.c __complete_mapping_preparation() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->prepared_mappings.prev 4096-ptr_max
PARAM_VALUE 0 clone->prepared_mappings.prev->next 4096-ptr_max
PARAM_VALUE 0 clone->prepared_mappings.prev->next->next 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pool)->lock

drivers/md/dm-thin.c cell_defer_no_holder() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->prison 4096-ptr_max
PARAM_VALUE 0 clone->prison->cell_pool.curr_nr s32min-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock

drivers/md/dm-thin.c do_waker() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &md->suspend_lock

drivers/md/dm-thin.c queue_passdown_pt2() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 clone->prepared_discards_pt2.prev 4096-ptr_max
PARAM_VALUE 0 clone->prepared_discards_pt2.prev->next 4096-ptr_max
PARAM_VALUE 0 clone->prepared_discards_pt2.prev->next->next 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-thin.c thin_defer_bio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &md->io_barrier
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &pool->throttle.lock

drivers/md/dm-thin.c thin_defer_cell() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->pf.mode 0-3,5-u32max
PARAM_VALUE 0 clone->prison 4096-ptr_max
PARAM_VALUE 0 clone->throttle.lock.dep_map->name 0-255
PARAM_VALUE 0 clone->throttle.lock.first_waiter->handoff_set 1
PARAM_VALUE 0 clone->throttle.lock.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 clone->throttle.lock.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 clone->throttle.lock.first_waiter->type 0-1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &md->io_barrier
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock
HALF_LOCKED2 &md->swap_bios_semaphore
TYPE_LOCK (struct mapped_device)->io_barrier

drivers/md/dm-thin.c thin_endio() -> wake_worker()

Type Parameter Key Value
PARAM_VALUE 0 clone 4096-ptr_max
PARAM_VALUE 0 clone->lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &bio->bi_bdev->bd_queue->queue_lock