finish_writing(9)
π finish_writing(9) π
okay so this is a page from the Kernel API Manual, and we're talking about finish_writing β the re-entry point for the lock agent after it has finished writing or compressing its copy of the data block. it's giving βbestie just wrapped the write/compress era, now what?β and honestly? slay. π
β¨
πΈ NAME πΈ
finish_writing β the re-entry point for the lock agent after it has finished writing or compressing its copy of the data block. no cap, that's the whole name vibe. π¦
π SYNOPSIS π
okay so here's the exact signature, bestie β don't touch the punctuation, i'm obsessed with it:
void finish_writing (struct hash_lock *lock , struct data_vio *agent );
π«Ά ARGUMENTS π«Ά
lockβ the hash lock, and bestie it must be in stateWRITING. that's the vibe check, fr fr. πagentβ thedata_viothat wrote its data for the lock. main character energy, honestly. π
π₯ DESCRIPTION π₯
so the agent will never need to dedupe against anything β literally never β which means it's done with the lock. but the lock may not be finished with it, because a UDS update might still be needed. π
if there are other lock holders, the agent will hand the job to one of them and exit, leaving the lock to deduplicate against the just-written block. if there are no other lock holders, the agent either exits (and later tears down the hash lock), or it remains the agent and updates UDS. periodt. πβ¨
π SEE ALSO π
the whole cross-reference friend group is literally right here β iconic behavior, iykyk:
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),
start_verifying(9), finish_locking(9), lock_duplicate_pbn(9),
start_locking(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)
byeee bestie π«Ά source/version: ./drivers/md/dm-vdo Β· date: October 2026 Β· page: finish_writing(9) π
β¨π
π¦ 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