advance_search_cursor(9)
π advance_search_cursor(9) β welcome to the Kernel API Manual, bestie π
okay so picture this: you're deep in the kernel API manual, section 9, and you've got a search cursor that needs to scoot forward. that's the whole vibe of this page. let's get into it β¨
πΈ NAME
advance_search_cursor β moves the search cursor forward to the start of the next reference block in a slab, no cap π¦
β¨ SYNOPSIS
bool advance_search_cursor (struct vdo_slab *slab );
like, that's it. one argument. she's lowkey minimalist π
π«Ά ARGUMENTS
slabβ the slab. that's the entire description, and honestly? iconic. it's the slab you're working with, bestie, what more do you want from her π
π DESCRIPTION
so here's the tea β β this function advances the cursor to the start of the next reference block in a slab. and if the current block happens to be the last reference block? it wraps around to the first reference block instead. the way that it just circles back around like a little carousel π β very main character energy of it.
β RETURN
it returns True unless the cursor was at the last reference block. so if you got False back, congrats, you were at the end and she wrapped around for you. wrap-around behavior detected, periodt π₯
π SEE ALSO
okay this is the part where the manpage absolutely ATE and left no crumbs π β because this one function is friends with, like, everyone in ./drivers/md/dm-vdo/slab-depot.c. blocking off the whole group chat fr fr:
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), 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), vdo_prepare_to_grow_slab_depot(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)
like, she knows everybody at the function party π go say hi, iykyk π
and that's the page!! kisses from ./drivers/md/dm-vdo, dated October 2026 β stan this manpage, mwah ππ
π¦ 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