complete_waiter_with_error(9)
β¨ complete_waiter_with_error(9) β¨
okay so bestie, welcome to the Kernel API Manual π β this one's short but she's important, and she lives in the complete_waiter_with_error(9) corner of the kernel. let's get into it π
πΈ NAME πΈ
complete_waiter_with_error β the "oops, it broke" girlie of page completion π she finishes off a page completion but with an error code instead of actual data.
π¦ SYNOPSIS π¦
void complete_waiter_with_error (struct vdo_waiter *waiter , void
*result_ptr );
literally that's the whole shape of her. no cap. β¨
π ARGUMENTS π
waiterβ the page completion, but like, as a waiter. yes bestie, a waiter π« (the struct kind, not the restaurant kind, though honestly the vibes are similar β she's been waiting to be served).result_ptrβ a pointer to the error code. that's it. that's the baggage she's carrying π
π DESCRIPTION π
bestie. she implements waiter_callback_fn. that's the whole description. she's a callback, she does the callback thing, she completes a waiter with an error code, and she's iconic for it. no extra lore, no secret powers, don't go looking for more, there isn't more π
fr fr the manpage says exactly one sentence here and I'm not about to invent fanfic about it. what you see is what you get. periodt.
π SEE ALSO π
the extended friend group π β all of these are related, and they're all in the kernel file ./drivers/md/dm-vdo/block-map.c:
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_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)completion_needs_page(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)
and that's the whole page bestie!!! π§ββοΈ go forth and complete some waiters (with errors, as specified) π
mwah π β brought to you by ./drivers/md/dm-vdo, dated October 2026, and she's a complete_waiter_with_error(9) girlie forever β
π¦ 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