retire_lock_agent(9)
π retire_lock_agent(9) β the kernel API manual glow-up β¨
okay so bestie, gather round, because we're diving into retire_lock_agent(9) from the Kernel API Manual. yes, that's a manual page, and yes, she's iconic. this one lives in the kernel's dm-vdo world and she is literally about handing off the lock agent job to the next girl in line. let's get into it π
πΈ NAME πΈ
retire_lock_agent β bestie, this is the one that retires the active lock agent, swaps her out for the first lock waiter, and makes the retired agent exit the hash lock. it's giving handing over the crown π and then leaving the group chat π
β¨ SYNOPSIS β¨
struct data_vio * retire_lock_agent (struct hash_lock *lock );
that's it. one arg. one return. she's lowkey simple but highkey important, ngl.
π¦ ARGUMENTS π¦
lockβ the hash lock you're updating. that's the whole thing. that's the tea. π
π RETURN π
the new lock agent gets handed back to you β and heads up, she will be NULL if there was no waiter to take over. so like, if nobody's in the queue, you get nothing back. main character energy but make it empty. π
fr fr though, check for that NULL, bestie. it's not a vibe to forget.
π SEE ALSO π
okay this is the part where the page absolutely ate. the whole friend group showed up. every single one, periodt:
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), 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), 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β¦ the whole squad. iykyk π
π«Ά and that's the page!! sign-off time: this cutie came from the Kernel API Manual, lives over in ./drivers/md/dm-vdo, and the date on her is October 2026. go read the source, bestie, it slays β¨π
π¦ 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