abort_waiter(9)
okay bestie, welcome to abort_waiter(9) β a Kernel API Manual page for section 9. It's a tiny callback with main-character energy, and we're gonna cover every detail fr fr. π
β¨
πΈ NAME πΈ
abort_waiter β Abort vios waiting to make journal entries when read-only. That's the whole name. Short, iconic, no notes. π
β¨ SYNOPSIS β¨
Here's the signature, exact character-for-character because code is sacred, no cap:
void abort_waiter (struct vdo_waiter *waiter , void *context );
Yes, there's a space before that comma and before the closing paren. Leave it. It's part of the vibe. π
π ARGUMENTS π
waiterβ A waitingdata_vio. That's the one waiting around. π«Άcontextβ Not used. Literally not used. Don't overthink it. π
π DESCRIPTION π
So this callback is invoked on all vios waiting to make slab journal entries after the VDO has gone into read-only mode. That's the whole situation. It implements waiter_callback_fn, periodt. π₯
π₯ SEE ALSO π₯
Kernel file ./drivers/md/dm-vdo/slab-depot.c is where the whole crew lives. Here's the SEE ALSO squad, every single one, no cap:
get_lock(9), must_make_entries_to_flush(9), is_reaping(9),
initialize_tail_block(9), initialize_journal_state(9), block_is_full(9),
is_slab_journal_blank(9), mark_slab_journal_dirty(9),
compute_fullness_hint(9), check_summary_drain_complete(9),
notify_summary_waiters(9), finish_updating_slab_summary_block(9),
finish_update(9), handle_write_error(9), launch_write(9),
update_slab_summary_entry(9), finish_reaping(9), complete_reaping(9),
handle_flush_error(9), flush_for_reaping(9), reap_slab_journal(9),
adjust_slab_journal_block_reference(9), release_journal_locks(9),
update_tail_block_location(9), reopen_slab_journal(9), complete_write(9),
write_slab_journal_block(9), commit_tail(9), encode_slab_journal_entry(9),
expand_journal_point(9), add_entry(9), vdo_attempt_replay_into_slab(9),
requires_reaping(9), launch_reference_block_write(9),
finish_reference_block_write(9), get_reference_counters_for_block(9),
pack_reference_block(9), handle_io_error(9), write_reference_block(9),
reference_count_to_status(9), dirty_block(9), get_reference_block(9),
slab_block_number_from_pbn(9), get_reference_counter(9),
adjust_free_block_count(9), increment_for_data(9), decrement_for_data(9),
increment_for_block_map(9), update_reference_count(9),
add_entry_from_waiter(9), is_next_entry_a_block_map_increment(9),
add_entries(9), reset_search_cursor(9), advance_search_cursor(9),
vdo_adjust_reference_count_for_rebuild(9), replay_reference_count_change(9),
find_zero_byte_in_word(9), find_free_block(9),
search_current_reference_block(9), search_reference_blocks(9),
make_provisional_reference(9), dirty_all_reference_blocks(9), match_bytes(9),
count_valid_references(9), unpack_reference_block(9),
finish_reference_block_load(9), load_reference_block_group(9),
load_reference_blocks(9), drain_slab(9), read_slab_journal_tail(9),
load_slab_journal(9), get_next_slab(9), has_slabs_to_scrub(9),
uninitialize_scrubber_vio(9), finish_scrubbing(9), slab_scrubbed(9),
abort_scrubbing(9), handle_scrubber_error(9), apply_block_entries(9),
apply_journal_entries(9), start_scrubbing(9), scrub_next_slab(9),
scrub_slabs(9), get_depot_slab_iterator(9), next_slab(9),
vdo_acquire_provisional_reference(9), open_slab(9),
vdo_enqueue_clean_slab_waiter(9), vdo_modify_reference_count(9),
vdo_notify_slab_journals_are_recovered(9), make_slab(9), allocate_slabs(9),
vdo_abandon_new_slabs(9), release_recovery_journal_lock(9),
prepare_for_tail_block_commit(9), schedule_tail_block_commit(9),
initialize_slab_scrubber(9), initialize_slab_summary_block(9),
vdo_decode_slab_depot(9), vdo_free_slab_depot(9), vdo_record_slab_depot(9),
vdo_allocate_reference_counters(9), get_slab_number(9), vdo_get_slab(9),
vdo_get_increment_limit(9), vdo_is_physical_data_block(9),
vdo_get_slab_depot_allocated_blocks(9), vdo_get_slab_depot_data_blocks(9),
finish_combining_zones(9), combine_summaries(9), finish_loading_summary(9),
load_slab_summary(9), vdo_load_slab_depot(9),
vdo_prepare_slab_depot_to_allocate(9), vdo_update_slab_depot_size(9),
vdo_prepare_to_grow_slab_depot(9), finish_registration(9),
vdo_use_new_slabs(9), stop_scrubbing(9), vdo_drain_slab_depot(9),
resume_scrubbing(9), vdo_resume_slab_depot(9),
vdo_commit_oldest_slab_journal_tail_blocks(9),
vdo_scrub_all_unrecovered_slabs(9), get_block_allocator_statistics(9),
get_ref_counts_statistics(9), get_slab_journal_statistics(9),
vdo_get_slab_depot_statistics(9), vdo_dump_slab_depot(9)
This page's source/version is ./drivers/md/dm-vdo, and the date is October 2026. It's all for abort_waiter(9). Bye bestie, stay void, stay iconic, and may your vios never wait too long. ππ¦β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms