continue_waiter(9)
β¨ continue_waiter(9) β¨
okay so bestie, welcome to the continue_waiter(9) page from the Kernel API Manual π
this one lives in ./drivers/md/dm-vdo and honestly it's a little gem. let's get into it π«Ά
πΈ NAME πΈ
continue_waiter β release a data_vio from the journal, periodt π
π¦ SYNOPSIS π¦
void continue_waiter (struct vdo_waiter *waiter , void *context );
that's it, that's the whole signature, no cap β¨
π ARGUMENTS π
waiterβ thedata_viothat's out here waiting on journal activity π like it's literally sitting in the group chat waiting for a replycontextβ the result of the journal operation, aka the news it's been waiting for π¬
π DESCRIPTION π
so here's the vibe: this gets invoked whenever a data_vio is to be released from the journal π₯ and there are exactly two reasons that happens:
- its entry was committed to disk β slay
- there was an error π not slay, but it happens
and yeah, it implements waiter_callback_fn β icon behavior honestly π
π SEE ALSO π
the whole extended friend group, fr fr π«Ά here's everyone:
- Kernel file
./drivers/md/dm-vdo/recovery-journal.cLock Counters.(9) get_zone_count_ptr(9)get_counter(9)is_journal_zone_locked(9)vdo_release_recovery_journal_block_reference(9)pop_free_list(9)is_block_dirty(9)is_block_empty(9)is_block_full(9)assert_on_journal_thread(9)has_block_waiters(9)suspend_lock_counter(9)check_for_drain_complete(9)notify_recovery_journal_of_read_only_mode(9)enter_journal_read_only_mode(9)vdo_get_recovery_journal_current_sequence_number(9)get_recovery_journal_head(9)compute_recovery_count_byte(9)check_slab_journal_commit_threshold(9)finish_reaping(9)complete_reaping(9)handle_flush_error(9)initialize_journal_state(9)vdo_get_recovery_journal_length(9)reap_recovery_journal_callback(9)initialize_lock_counter(9)set_journal_tail(9)initialize_recovery_block(9)vdo_decode_recovery_journal(9)vdo_free_recovery_journal(9)vdo_initialize_recovery_journal_post_repair(9)vdo_get_journal_block_map_data_blocks_used(9)vdo_get_recovery_journal_thread_id(9)vdo_open_recovery_journal(9)vdo_record_recovery_journal(9)get_block_header(9)set_active_sector(9)advance_tail(9)initialize_lock_count(9)prepare_to_assign_entry(9)schedule_block_write(9)release_journal_block_reference(9)assign_entry(9)recycle_journal_block(9)continue_committed_waiter(9)notify_commit_waiters(9)recycle_journal_blocks(9)complete_write(9)add_queued_recovery_entries(9)write_block(9)write_blocks(9)vdo_add_recovery_journal_entry(9)is_lock_locked(9)reap_recovery_journal(9)vdo_acquire_recovery_journal_block_reference(9)vdo_release_journal_entry_lock(9)vdo_drain_recovery_journal(9)resume_lock_counter(9)vdo_resume_recovery_journal(9)vdo_get_recovery_journal_logical_blocks_used(9)vdo_get_recovery_journal_statistics(9)dump_recovery_block(9)vdo_dump_recovery_journal_statistics(9)
π‘ friendly reminder bestie: this came out of ./drivers/md/dm-vdo and it's dated October 2026 πΈ so if you're reading it in some other timeline... iykyk π
okay that's the page, go forth and release those waiters, you're gonna eat π β¨
π¦ 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