completion_needs_page(9)
π completion_needs_page(9) π
okay bestie, welcome to completion_needs_page(9) from the Kernel API Manual β this one is a tiny little matchmaker function and it's lowkey iconic. π
β¨ NAME β¨
completion_needs_page β figure out whether a given vdo_page_completion (as a waiter) is requesting a given page number. fr fr, that's the whole vibe check. π
πΈ SYNOPSIS πΈ
bool completion_needs_page (struct vdo_waiter *waiter , void *context );
π ARGUMENTS π
waiterβ the page completion waiter you're checking, aka the main character being inspected. πcontextβ a pointer to thepbnof the desired page. That's the page you're looking for, bestie. π¦
π«Ά DESCRIPTION π«Ά
This is the implementation of waiter_match_fn. That's it β that's the description. It's giving "small function, important little role," and we respect it. β¨
π₯ RETURN π₯
It returns true if the page completion is for the desired page number. That's the yes moment, no cap. β
π SEE ALSO π
Kernel file ./drivers/md/dm-vdo/block-map.c and the whole Block map eras(9) friend group:
Block map eras(9)initialize_info(9)allocate_cache_components(9)assert_on_cache_thread(9)get_page_state_name(9)update_counter(9)set_info_state(9)find_free_page(9)find_page(9)select_lru_page(9)complete_with_page(9)complete_waiter_with_error(9)complete_waiter_with_page(9)distribute_page_over_waitq(9)set_persistent_error(9)validate_completed_page(9)handle_load_error(9)page_is_loaded(9)handle_rebuild_read_error(9)launch_page_load(9)schedule_page_save(9)launch_page_save(9)allocate_free_page(9)discard_a_page(9)discard_page_if_needed(9)write_has_finished(9)handle_page_write_error(9)page_is_written_out(9)write_pages(9)vdo_release_page_completion(9)vdo_get_page(9)vdo_request_page_write(9)vdo_get_cached_page(9)vdo_invalidate_page_cache(9)get_tree_page_by_index(9)in_cyclic_range(9)is_not_older(9)add_to_dirty_lists(9)vdo_find_block_map_slot(9)make_forest(9)replace_forest(9)finish_cursor(9)continue_traversal(9)finish_traversal_load(9)traverse(9)launch_cursor(9)compute_boundary(9)vdo_traverse_forest(9)initialize_block_map_zone(9)clear_mapped_location(9)set_mapped_location(9)
okay that's the page, bestie! π
Sign-off time: source/version is ./drivers/md/dm-vdo, dated October 2026, and the page is, of course, completion_needs_page(9). π«Άβ¨
π¦ 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