Documented in 5 files:

Defined in 6 files as a function:

Referenced in 6 files:

Smatch caller information:

drivers/md/dm-vdo/packer.c vdo_remove_lock_holder_from_packer() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
DATA_SOURCE 0 packer r get_packer_from_data_vio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/packer.c write_all_non_empty_bins() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
CAPPED_DATA 0 &packer->bins 1
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/dedupe.c initiate_drain() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/dedupe.c timeout_index_operations_callback() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->timer_state.counter 0
CAPPED_DATA 0 &packer->pending 1
DATA_SOURCE 0 packer r as_hash_zone
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c complete_write() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c enter_journal_read_only_mode() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->flush_vio 4096-ptr_max
BUF_SIZE 0 packer (-1),8-s32max
BUF_SIZE 0 packer (-1),8-s32max
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c finish_reaping() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
BUF_SIZE 0 packer (-1),8-s32max
BUF_SIZE 0 packer (-1),8-s32max
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c initiate_drain() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c notify_recovery_journal_of_read_only_mode() -> check_for_drain_complete()

Type Parameter Key Value
DATA_SOURCE 0 packer $0
NOCHECK_CALL

drivers/md/dm-vdo/recovery-journal.c reap_recovery_journal_callback() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->lock_counter.state.counter 0
BUF_SIZE 0 packer (-1),8-s32max
BUF_SIZE 0 packer (-1),8-s32max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c enter_zone_read_only_mode() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->block_map 4096-ptr_max
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c handle_load_error() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->block_map 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c handle_page_write_error() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c initiate_drain() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c page_is_loaded() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c page_is_written_out() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->block_map 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/block-map.c return_to_pool() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/flush.c initiate_drain() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/flush.c vdo_complete_flushes() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->pending_flushes.last_waiter 0
PARAM_VALUE 0 packer->vdo 4096-ptr_max
PARAM_VALUE 0 packer->vdo->logical_zones->zones 4096-ptr_max
DATA_SOURCE 0 packer $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/logical-zone.c attempt_generation_complete_notification() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
PARAM_VALUE 0 packer->notification_generation 33-u64max
PARAM_VALUE 0 packer->notifying 0
CAPPED_DATA 0 packer->oldest_active_generation 1
DATA_SOURCE 0 packer r as_logical_zone
PARAM_COMPARE 0 packer->notification_generation >= $0->oldest_active_generation
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/md/dm-vdo/logical-zone.c initiate_drain() -> check_for_drain_complete()

Type Parameter Key Value
PARAM_VALUE 0 packer 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL