make_forest(9)
π² make_forest(9) β the kernel API manual, bestie edition π«Ά
Okay so this is make_forest(9) from the Kernel API Manual β yes, that's the whole vibe, kernel-API-manual-core π
β and today we're learning how to grow a whole lil forest of trees for a block map. Sit down, hydrate, let's go β¨
πΈ NAME πΈ
make_forest β Make a collection of trees for a block_map, expanding the existing forest if there is one.
Like. It literally plants trees. For a block map. And if a forest is already chilling there, it just makes it bigger instead of starting over β respectful, efficient, main character energy honestly π
β¨ SYNOPSIS β¨
int make_forest (struct block_map *map , block_count_t entries );
That's the whole thing. Two args, one int back. Iconic. Short. Ate. π
π¦ ARGUMENTS π¦
mapβ The block map. That's it, that's the whole description. She's the block map, she's the moment, the forest gets planted inside her πentriesβ The number of entries the block map will hold. So like, how much room bestie needs. This number decides how big the forest situation gets πΈ
π RETURN π
VDO_SUCCESS β or an error π
That's the deal. You either slay or you don't, there's genuinely no in-between, no cap π₯
π§ SEE ALSO π§
Kernel file ./drivers/md/dm-vdo/block-map.c
Block map β the extended universe, and listen, it's a whole friend group, we're listing every single one of them because none of them are getting left out π«Ά:
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)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)
Fr fr, read the neighbors too βreplace_forest(9)andvdo_traverse_forest(9)are literally right there and they're obsessed with you π
Okay that's the page!! Sourced from ./drivers/md/dm-vdo, dated October 2026 β and hey, don't forget to check in on make_forest(9) again next time, she's got trees to grow π³β¨π
π¦ 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