bio_chain(9)
okay bestie, welcome to bio_chain(9) from the Kernel API Manual β¨ this one is literally about chaining bio completions, and itβs giving βwait for your friend before you leaveβ energy π
πΈ NAME πΈ
bio_chain - chain bio completions
β¨ SYNOPSIS β¨
void bio_chain (struct bio *bio , struct bio *parent );
π¦ ARGUMENTS π¦
bioβ the target bio πparentβ the parent bio ofbioπ«Ά
π DESCRIPTION π
okay so hereβs the vibe: when bio completes, the caller wonβt have a bi_end_io called for it. instead, parentβs bi_end_io wonβt be called until both parent and bio have completed. and yes, the chained bio will also be freed when it completes π§
β οΈ bestie, important: the caller must not setbi_privateorbi_end_ioinbio. not the move. periodt π
π SEE ALSO π
Kernel file ./block/bio.c, plus these iconic references:
bio_reset(9)bio_reuse(9)bio_chain_and_submit(9)bio_alloc_bioset(9)bio_kmalloc(9)bio_truncate(9)guard_bio_eod(9)bio_put(9)bio_alloc_clone(9)bio_init_clone(9)bio_full(9)__bio_add_page(9)bio_add_virt_nofail(9)bio_add_page(9)bio_add_folio(9)bio_add_vmalloc_chunk(9)bio_add_vmalloc(9)bio_iov_iter_get_pages(9)bio_iov_iter_bounce(9)bio_iov_iter_unbounce(9)bio_await(9)submit_bio_wait(9)bdev_rw_virt(9)bio_copy_data(9)bio_endio(9)bio_split(9)bio_trim(9)bioset_init(9)
byeee bestie β this little page lives in ./block and is dated October 2026 π«Άπ
π¦ 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