check_for_drain_complete(9)
π check_for_drain_complete(9) β like, the vibe check for your journal
okay bestie, so this one's from the Kernel API Manual and it lives in the kernel-nerd corner of the universe, but honestly? the concept is so relatable. let's get into it π
β¨ NAME β¨
check_for_drain_complete β the little function whose entire job is to look at the journal and be like "hmmβ¦ are we drained yet? π"
like, that's it. that's the gig. no cap.
π¦ SYNOPSIS π¦
void check_for_drain_complete (struct recovery_journal *journal );
that's the whole signature, bestie β it returns void, so don't go looking for a return value, she gives you nothing back π (well, not through a return value, anyway, iykyk)
π ARGUMENTS π
journalβ the journal in question π«Ά like, the one that may have just drained. she might be fully drained, she might not be, and this function is here to find out. main character energy.
πΈ SEE ALSO πΈ
okay this section is long, grab a snack π β the whole dm-vdo recovery-journal extended universe:
- the kernel file
./drivers/md/dm-vdo/recovery-journal.candLock 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)continue_waiter(9)has_block_waiters(9)suspend_lock_counter(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)
ngl, that's a lot of friends, but she's a social queen π go read them if you wanna understand the whole drain-and-recovery storyline β it's giving saga, fr fr.
published from ./drivers/md/dm-vdo, dated October 2026, in the Kernel API Manual β that's the whole page, bestie, slay, go check if your journal drained β¨ππ¦
π¦ 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