dequeue_lock_waiter(9)
π dequeue_lock_waiter(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to the dequeue_lock_waiter(9) page π this is a Linux kernel API manual entry, and it's genuinely so simple it's giving main character energy in like three lines. let's get into it π
β¨ NAME β¨
dequeue_lock_waiter β bestie, this literally pops the first data_vio off the lock's waitq and hands it to you π«Ά that's it, that's the whole job.
πΈ SYNOPSIS πΈ
struct data_vio * dequeue_lock_waiter (struct hash_lock *lock );
like, one function, one argument, returns a struct data_vio * β no cap, that's the entire vibe π
π¦ ARGUMENTS π¦
lockβ the lock that's holding the wait queue. that's it. that's the argument. she's the container, the waitq lives inside her π
β RETURN β
it gives you back the first (and yeah, oldest π) waiter sitting in the queue. but if the queue is empty? you get NULL. empty queue = no vibe check passed, no waiter for you, sorry bestie π
π SEE ALSO π
okay this is the part where the page goes absolutely feral with cross-references, so buckle up π§ we're listing all of them, every single one, because that's the assignment:
- Kernel file
./drivers/md/dm-vdo/dedupe.cIntroduction(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)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)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, that's a whole friend group π go read them all, iykyk π
ngl the way this function is just "pop the head of the queue, orNULL" is iconic. simple, clean, slay. no edge cases hiding in the bushes, no weird flags, no environment variables, no exit statuses β just vibes and aNULLcheck π
okay that's the whole page bestie, you ate that π«Ά this one came from ./drivers/md/dm-vdo, dated October 2026 β Kernel API Manual realness, 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