find_entry_...ng_next_page(9)
π find_entry_starting_next_page(9) β from the Kernel API Manual, bestie β¨
Okay so picture this: we're deep in the kernel, in ./drivers/md/dm-vdo/repair.c, and we need to find the first journal entry after a given entry that is NOT on the same block map page. That's it. That's the whole function. It's giving "next page energy" π¦ and honestly? Iconic.
πΈ NAME πΈ
find_entry_starting_next_page β finds the first journal entry after a given entry which is not on the same block map page. No cap, that's literally the job π
β¨ SYNOPSIS β¨
struct numbered_block_mapping * find_entry_starting_next_page (struct
repair_completion *repair , struct numbered_block_mapping *current_entry
, bool needs_sort );
Look at that signature. Three args, one pointer coming back. Gorgeous. π
π«Ά ARGUMENTS π«Ά
repairβ the repair completion. Yeah, the whole completion struct. She's the main character here πcurrent_entryβ the entry we're searching from. Our starting point, our launchpad, our home base πneeds_sortβ aboolthat says whether sorting is needed to proceed. Simple as that π
π₯ RETURN π₯
A pointer to the first later journal entry that lives on a different block map page π«
β¦or, if there is no subsequent entry on a different block map page, a pointer to just before the journal entries. Yeah, that's the fallback. Not a NULL, not an error β just a pointer sitting right before the entries themselves. Lowkey unhinged but it's what she does π
π SEE ALSO π
All the sibling functions, aka the whole friend group π β from the kernel file ./drivers/md/dm-vdo/repair.c:
as_repair_completion(9)abort_repair(9)abort_on_error(9)drain_slab_depot(9)flush_block_map_updates(9)handle_page_load_error(9)unmap_entry(9)remove_out_of_bounds_entries(9)process_slot(9)rebuild_reference_counts_from_page(9)page_loaded(9)fetch_page(9)rebuild_from_leaves(9)process_entry(9)advance_points(9)before_recovery_point(9)get_entry(9)validate_recovery_journal_entry(9)add_slab_journal_entries(9)vdo_replay_into_slab_journals(9)get_recovery_journal_block_header(9)is_valid_recovery_journal_block(9)is_exact_recovery_journal_block(9)find_recovery_journal_head_and_tail(9)unpack_entry(9)append_sector_entries(9)extract_new_mappings(9)compute_usages(9)vdo_repair(9)
Go read them. All of them. I'm not kidding. iykyk π
β¨ that's the whole page, bestie β¨ She lives in ./drivers/md/dm-vdo, she's dated October 2026, and she's page find_entry_...ng_next_page(9) β go off, queen πππ
π¦ 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