vdo_traverse_forest(9)
π vdo_traverse_forest(9) π
okay so this is from the Kernel API Manual, bestie, and we're about to walk a whole forest together π§β¨ no cap.
πΈ NAME πΈ
vdo_traverse_forest β Walk the entire forest of a block map. yes literally the whole thing, every tree, we're going for a stroll π³π¦
β¨ SYNOPSIS β¨
void vdo_traverse_forest (struct block_map *map , vdo_entry_callback_fn
callback , struct vdo_completion *completion );
like, that's the whole vibe. three things in, nothing out, void is giving main character energy π
π«Ά ARGUMENTS π«Ά
mapβ The block map. the actual forest we're hiking through, periodt π²callbackβ A function to call with thepbnof each allocated node in the forest. so like, every time we find a node that's actually allocated we ping your callback with its pbn, iykyk π₯completionβ The completion to notify on each traversed PBN, and when traversal completes. bestie it gets pinged twice in spirit: once per traversed PBN, and once again when the whole traversal wraps up. the way that it keeps you posted the entire time ππ
π SEE ALSO π
this is the part where the manpage just. dumps the entire friends list. and we love her for it π
Kernel file ./drivers/md/dm-vdo/block-map.c and also, in no particular order but also extremely particular order:
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)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)initialize_block_map_zone(9)clear_mapped_location(9)set_mapped_location(9)
like okay go off, reference list, we see you ππ
π¦ and that's the page!! shoutout to the source dir ./drivers/md/dm-vdo and the date stamp October 2026, and of course our queen vdo_traverse_forest(9) herself β mwah, stan forever, bye bestie ππβ
π¦ 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