vdo_validate_config(9)
π vdo_validate_config(9) π
okay so this is a page from the Kernel API Manual (yes, the actual kernel API manual, we're fancy now π
) and it's all about vdo_validate_config β which, as the name is literally giving, validates the constraints on a VDO config. bestie, it's a vibe check for your config π
β¨ NAME β¨
vdo_validate_config β validate constraints on a VDO config. that's it, that's the whole job π«Ά
π¦ SYNOPSIS π¦
int vdo_validate_config (const struct vdo_config *config , block_count_t
physical_block_count , block_count_t logical_block_count );
look at her. three args, returns an int, no cap she's iconic π₯
π ARGUMENTS π
configβ the VDO config itself, the main character of this whole situation πphysical_block_countβ the minimum block count of the underlying storage. like the floor, the bare minimum, the "you must be at least this tall to ride" of storage π’logical_block_countβ the expected logical size of the VDO... or0if the logical size may be unspecified. yeah she's optional-optional in that case, noted π
β RETURN β
a success or error code. literally that's it β you get back a code, check it, move on, slay π
π SEE ALSO π
okay this list is LONG, grab a snack π β all of these live in the kernel file ./drivers/md/dm-vdo/encodings.c:
validate_version(9)vdo_validate_header(9)decode_volume_geometry(9)vdo_encode_volume_geometry(9)vdo_parse_geometry_block(9)vdo_compute_new_forest_pages(9)encode_recovery_journal_state_7_0(9)decode_recovery_journal_state_7_0(9)vdo_get_journal_operation_name(9)encode_slab_depot_state_2_0(9)decode_slab_depot_state_2_0(9)vdo_configure_slab_depot(9)vdo_configure_slab(9)vdo_decode_slab_journal_entry(9)allocate_partition(9)make_partition(9)vdo_initialize_layout(9)vdo_uninitialize_layout(9)vdo_get_partition(9)vdo_get_known_partition(9)pack_vdo_config(9)pack_vdo_component(9)unpack_vdo_config(9)unpack_vdo_component_41_0(9)decode_vdo_component(9)vdo_destroy_component_states(9)decode_components(9)vdo_decode_component_states(9)vdo_validate_component_states(9)vdo_encode_component_states(9)vdo_encode_super_block(9)vdo_decode_super_block(9)vdo_initialize_component_states(9)vdo_compute_index_blocks(9)vdo_initialize_volume_geometry(9)
like I said. long. but every single one of them is there, fr fr πβ¨
lowkey reminder bestie: you pass in 0 for logical_block_count when the logical size is allowed to be unspecified β that's a real thing on this page, not me being cute πΈ
okay that's the whole page!! this gem comes to you from ./drivers/md/dm-vdo, dated October 2026 β go forth and validate those configs, you're gonna eat πππ¦π
π¦ 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