bio_await(9)
β¨ bio_await(9) β Kernel API Manual β¨
πΈ NAME πΈ
bio_await β call a function on a bio, and wait until it completes. That's the whole plot, no cap. π
β¨ SYNOPSIS β¨
void bio_await (struct bio *bio , void *priv , void (*submit)(struct bio
*bio, void *priv) );
π ARGUMENTS π
bioβ thebiowhich describes the I/O. Main character energy.privβ private data passed tosubmit.submitβ function called to submit thebio.
π DESCRIPTION π
Okay so here's the vibe: bio_await waits for the bio as well as any bio chained off it after executing the passed-in callback submit. The wait for the bio is set up before calling submit to ensure that the completion is captured β yes, it's giving "don't miss the moment." If submit is NULL, submit_bio is used instead to submit the bio.
β οΈ NOTE β οΈ
Heads up bestie: this overrides thebi_privateandbi_end_iofields in thebio. Like, it's literally taking over those fields, so don't act surprised. π
π¦ SEE ALSO π¦
Kernel file ./block/bio.c is the home base, and the whole squad is:
bio_reset(9)bio_reuse(9)bio_chain(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)submit_bio_wait(9)bdev_rw_virt(9)bio_copy_data(9)bio_endio(9)bio_split(9)bio_trim(9)bioset_init(9)
π source/version: ./block; date: October 2026; page: bio_await(9) β that's the cute sign-off, bestie! π
π¦ 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