fork_hash_lock(9)
π fork_hash_lock(9) β Kernel API Manual β¨
okay bestie, welcome to the Kernel API Manual page for fork_hash_lock(9) β yes the whole page is literally named after the function, main character energy only π
πΈ NAME πΈ
fork_hash_lock β fork a hash lock because it has run out of increments on the duplicate PBN. like it hit the cap, it's done, time to split π«Ά
β SYNOPSIS β
void fork_hash_lock (struct hash_lock *old_lock , struct data_vio
*new_agent );
that's it, that's the whole signature π
π ARGUMENTS π
old_lockβ the hash lock you're forking. the og. the one that ran out of increments πnew_agentβ thedata_viothat's gonna be the agent for the brand new lock π
π¦ DESCRIPTION π¦
so here's the vibe: this thing transfers the new agent and any lock waiters over to a brand new hash lock instance, and that new instance takes the place of the old lock in the lock map. slay, seamless β¨
the old lock? it doesn't get retired or anything dramatic β it remains active, but it will not update advice. that's it, that's the whole trade-off, no cap π
π SEE ALSO π
like, go read these too, iykyk β kernel file ./drivers/md/dm-vdo/dedupe.c and Introduction(9), plus:
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)launch_dedupe(9)start_deduping(9)increment_stat(9)finish_verifying(9)start_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)
and that's the page bestie π§π this one comes to you from ./drivers/md/dm-vdo, dated October 2026 β fork_hash_lock(9), periodt β¨
π¦ 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