retire_lock_agent(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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