vdo_flush_packer(9)
π vdo_flush_packer β like, the kernel API manual bestie edition β¨
okay so real talk, this is the page for vdo_flush_packer(9) β yes the (9) means it's a kernel API thang, we love a section-nine moment π
πΈ NAME πΈ
vdo_flush_packer β request that the packer flush asynchronously. that's it, that's the whole vibe. no cap π
β¨ SYNOPSIS β¨
void vdo_flush_packer (struct packer *packer );
literally just one call, one pointer, zero drama π¦
π«Ά ARGUMENTS π«Ά
packerβ the packer to flush. like, this one. the one you're handing over. the main character of the operation π
π DESCRIPTION π
okay so here's what actually goes down, and it's lowkey kind of elegant:
every bin that's holding at least two compressed data blocks will be written out. periodt. ποΈβ¨ and any solitary pending VIOs β the lonely little single ones, bless them π β get released from the packer. no binning, no waiting, they're free to go ποΈ
meanwhile, while the flushing is in progress, any VIOs that get submitted to vdo_attempt_packing will be continued immediately, without even trying to pack them. like, don't even bother asking rn, the packer is busy, we're not packing, we're flushing, read the room π
β οΈ and yes, that's real behaviour and not a glitch β during a flush, packing attempts get skipped on purpose. just so we're clear, bestie π«Ά
π SEE ALSO π
the kernel file itself, aka the source of truth:
./drivers/md/dm-vdo/packer.c
and the whole friend group π« (all of these are (9) pages, keep up):
vdo_get_compressed_block_fragment(9)assert_on_packer_thread(9)insert_in_sorted_list(9)make_bin(9)vdo_make_packer(9)vdo_free_packer(9)get_packer_from_data_vio(9)vdo_get_packer_statistics(9)abort_packing(9)release_compressed_write_waiter(9)finish_compressed_write(9)add_to_bin(9)remove_from_bin(9)initialize_compressed_block(9)pack_fragment(9)compressed_write_end_io(9)write_bin(9)add_data_vio_to_packer_bin(9)select_bin(9)vdo_attempt_packing(9)check_for_drain_complete(9)write_all_non_empty_bins(9)vdo_remove_lock_holder_from_packer(9)vdo_increment_packer_flush_generation(9)vdo_drain_packer(9)vdo_resume_packer(9)vdo_dump_packer(9)
β§ο½₯οΎ and that's the page!! ο½₯οΎβ§ this lil gem lives in ./drivers/md/dm-vdo, it's dated October 2026, and the whole thing is filed under vdo_flush_packer(9). go forth and flush asynchronously, bestie β ily, mwah πππ¦
π¦ 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