start_verifying(9)
π start_verifying(9) β the Kernel API Manual, bestie edition π
okay so real talk, this one's from the 9 section of the Kernel API Manual and it's lowkey the moment in the dedupe saga where we finally start checking the receipts β¨
πΈ NAME πΈ
start_verifying β literally the function that kicks off the data verification phase π
π¦ SYNOPSIS π¦
void start_verifying (struct hash_lock *lock , struct data_vio *agent );
no cap, that's the whole signature π
π ARGUMENTS π
lockβ the hash lock, and bestie it must beLOCKING(like, non-negotiable, the vibes are locked in)agentβ thedata_viowe're gonna use to go read the candidate data and compare it π«Ά
β¨ DESCRIPTION β¨
so here's the tea β β this is how we continue the deduplication path for a hash lock. we hand the job to the agent, and the agent goes and reads the data at the candidate duplicate location (and might decompress it too, ngl, it does what it gotta do) π₯
then it compares that candidate data against the data sitting in the agent, all so we can verify that the candidate is actually identical to all the data_vios sharing that hash. vibe check: passed? iconic. π
- if it matches β slay, it can be deduplicated against π
- if not β welp π, a
data_vioallocation will have to be written to and used for dedupe instead
periodt. that's the whole flow π
π SEE ALSO π
Kernel file ./drivers/md/dm-vdo/dedupe.c Introduction(9), return_hash_lock_to_pool(9), vdo_get_duplicate_lock(9), hash_lock_key(9), get_hash_lock_state_name(9), assert_hash_lock_agent(9), set_duplicate_lock(9), dequeue_lock_waiter(9), set_hash_lock(9), exit_hash_lock(9), set_duplicate_location(9), retire_lock_agent(9), wait_on_hash_lock(9), abort_waiter(9), start_bypassing(9), finish_unlocking(9), unlock_duplicate_pbn(9), start_unlocking(9), finish_updating(9), start_updating(9), finish_deduping(9), acquire_lock(9), enter_forked_lock(9), fork_hash_lock(9), launch_dedupe(9), start_deduping(9), increment_stat(9), finish_verifying(9), finish_locking(9), lock_duplicate_pbn(9), start_locking(9), finish_writing(9), select_writing_agent(9), start_writing(9), finish_querying(9), start_querying(9), report_bogus_lock_state(9), vdo_continue_hash_lock(9), is_hash_collision(9), vdo_acquire_hash_lock(9), vdo_release_hash_lock(9), transfer_allocation_lock(9), vdo_share_compressed_write_lock(9), report_dedupe_timeouts(9), finish_index_operation(9), check_for_drain_complete(9), vdo_make_hash_zones(9), vdo_free_hash_zones(9), suspend_index(9), resume_index(9), vdo_resume_hash_zones(9), get_hash_zone_statistics(9), vdo_get_dedupe_statistics(9), vdo_select_hash_zone(9), dump_hash_lock(9), dump_hash_zone(9), vdo_dump_hash_zones(9), acquire_context(9)
like yes that's a lot of friends but they're all main characters in the dedupe cinematic universe, iykyk π
and that's the page! brought to you by ./drivers/md/dm-vdo π« version dated October 2026 β go verify something, bestie, you got this π§π
π¦ 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