start_verifying(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 be LOCKING (like, non-negotiable, the vibes are locked in)
  • agent β€” the data_vio we'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_vio allocation 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