Defined in 3 files as a function:
- drivers/md/dm-clone-target.c, line 249 (as a function)
- drivers/md/dm-era-target.c, line 1247 (as a function)
- drivers/md/dm-thin.c, line 436 (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 |