vdo_prepare_...w_slab_depot(9)
π NAME π
vdo_prepare_to_grow_slab_depot β okay so this is the one that grabs all the new memory you're gonna need when you resize a slab depot to whatever size you're aiming for. Bestie, it's literally the "get the snacks before the party" function.
This page lives in the Kernel API Manual, and honestly? It ate. π«Ά
β¨ SYNOPSIS β¨
int vdo_prepare_to_grow_slab_depot (struct slab_depot *depot , const
struct partition *partition );
π ARGUMENTS π
depotβ the depot you're prepping to resize. Like, the main character of this operation. πpartitionβ the new depot partition. The glow-up destination, if you will. π¦
πΈ RETURN πΈ
VDO_SUCCESS if it went off without a hitch β or an error, if the vibes were off. π
π₯ SEE ALSO π₯
The kernel file is ./drivers/md/dm-vdo/slab-depot.c, and ngl the friend group is huge. Full lineup, in order, no cap β everybody's here:
get_lock(9),must_make_entries_to_flush(9),is_reaping(9),initialize_tail_block(9),initialize_journal_state(9),block_is_full(9)is_slab_journal_blank(9),mark_slab_journal_dirty(9),compute_fullness_hint(9),check_summary_drain_complete(9),notify_summary_waiters(9),finish_updating_slab_summary_block(9)finish_update(9),handle_write_error(9),launch_write(9),update_slab_summary_entry(9),finish_reaping(9),complete_reaping(9)handle_flush_error(9),flush_for_reaping(9),reap_slab_journal(9),adjust_slab_journal_block_reference(9),release_journal_locks(9),update_tail_block_location(9)reopen_slab_journal(9),complete_write(9),write_slab_journal_block(9),commit_tail(9),encode_slab_journal_entry(9),expand_journal_point(9)add_entry(9),vdo_attempt_replay_into_slab(9),requires_reaping(9),launch_reference_block_write(9),finish_reference_block_write(9),get_reference_counters_for_block(9)pack_reference_block(9),handle_io_error(9),write_reference_block(9),reference_count_to_status(9),dirty_block(9),get_reference_block(9)slab_block_number_from_pbn(9),get_reference_counter(9),adjust_free_block_count(9),increment_for_data(9),decrement_for_data(9),increment_for_block_map(9)update_reference_count(9),add_entry_from_waiter(9),is_next_entry_a_block_map_increment(9),add_entries(9),reset_search_cursor(9),advance_search_cursor(9)vdo_adjust_reference_count_for_rebuild(9),replay_reference_count_change(9),find_zero_byte_in_word(9),find_free_block(9),search_current_reference_block(9),search_reference_blocks(9)make_provisional_reference(9),dirty_all_reference_blocks(9),match_bytes(9),count_valid_references(9),unpack_reference_block(9),finish_reference_block_load(9)load_reference_block_group(9),load_reference_blocks(9),drain_slab(9),read_slab_journal_tail(9),load_slab_journal(9),get_next_slab(9)has_slabs_to_scrub(9),uninitialize_scrubber_vio(9),finish_scrubbing(9),slab_scrubbed(9),abort_scrubbing(9),handle_scrubber_error(9)apply_block_entries(9),apply_journal_entries(9),start_scrubbing(9),scrub_next_slab(9),scrub_slabs(9),get_depot_slab_iterator(9)next_slab(9),abort_waiter(9),vdo_acquire_provisional_reference(9),open_slab(9),vdo_enqueue_clean_slab_waiter(9),vdo_modify_reference_count(9)vdo_notify_slab_journals_are_recovered(9),make_slab(9),allocate_slabs(9),vdo_abandon_new_slabs(9),release_recovery_journal_lock(9),prepare_for_tail_block_commit(9)schedule_tail_block_commit(9),initialize_slab_scrubber(9),initialize_slab_summary_block(9),vdo_decode_slab_depot(9),vdo_free_slab_depot(9),vdo_record_slab_depot(9)vdo_allocate_reference_counters(9),get_slab_number(9),vdo_get_slab(9),vdo_get_increment_limit(9),vdo_is_physical_data_block(9),vdo_get_slab_depot_allocated_blocks(9)vdo_get_slab_depot_data_blocks(9),finish_combining_zones(9),combine_summaries(9),finish_loading_summary(9),load_slab_summary(9),vdo_load_slab_depot(9)vdo_prepare_slab_depot_to_allocate(9),vdo_update_slab_depot_size(9),finish_registration(9),vdo_use_new_slabs(9),stop_scrubbing(9),vdo_drain_slab_depot(9)resume_scrubbing(9),vdo_resume_slab_depot(9),vdo_commit_oldest_slab_journal_tail_blocks(9),vdo_scrub_all_unrecovered_slabs(9),get_block_allocator_statistics(9),get_ref_counts_statistics(9)get_slab_journal_statistics(9),vdo_get_slab_depot_statistics(9),vdo_dump_slab_depot(9)
Lowkey obsessed with how many of these there are. Like yes, give us nothing but cross-references. π
Okay that's the whole page bestie, mwah. π Signed off from ./drivers/md/dm-vdo β October 2026, vdo_prepare_...w_slab_depot(9) era. Iconic, honestly. πβ¨
π¦ 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