flush_for_reaping(9)
π okay bestie, welcome to the flush_for_reaping(9) page
This is from the Kernel API Manual, and it's lowkey a tiny little kernel callback moment. Very niche, very powerful, very βtrust me, the slab depot knows what it's doing.β π
β¨ NAME β¨
flush_for_reaping β a waiter callback for getting a vio with which to flush the lower layer prior to reaping. That's the whole assignment, and she ate. No cap.
π¦ SYNOPSIS π¦
void flush_for_reaping (struct vdo_waiter *waiter , void *context );
look at that signature. so clean. so specific. main character energy fr fr. π«Ά
π ARGUMENTS π
waiterβ the journal as a flush waiter. yes, the journal is literally out here having a flush-waiter era.contextβ the newly acquired flush vio. fresh out of acquisition, iconic.
π SEE ALSO π
Kernel file ./drivers/md/dm-vdo/slab-depot.c is home base, and the whole SEE ALSO squad is huge. every single one of these is invited to the group chat, no skips:
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),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)abort_waiter(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)
that's the whole page, bestie β exact facts, extra sparkle, zero invented lore. kisses from source/version ./drivers/md/dm-vdo, dated October 2026, on the flush_for_reaping(9) page πβ¨
π¦ 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