submit_bio(9)
β¨ submit_bio(9) β¨
okay so welcome to the submit_bio(9) page from the Kernel API Manual, bestie β this is the one that actually yeets your I/O at the block device layer π
πΈ SYNOPSIS πΈ
void submit_bio (struct bio *bio );
π ARGUMENTS π
bioβ thestruct biothat's describing the I/O you want done. like, the whole vibe of the request lives in here π¦
π DESCRIPTION π
Bestie. Listen. submit_bio is the function for submitting I/O requests to block devices. You hand it a fully set up struct bio that describes the I/O that needs to be done, and it takes it from there. The bio gets sent to whatever device is described by the bi_bdev field β no cap, that field is literally picking the destination π«Ά
The success/failure status of the request β plus the notification that it's done β comes back asynchronously through the ->bi_end_io callback in bio. So it's giving "we'll text you when it's ready" energy β¨
π MAJOR WARNING, fr fr: thebiomust NOT be touched by the caller until->bi_end_iohas been called. do not poke it. do not peek at it. do not look at it in a weird way. hands off until the callback says you're allowed π
π SEE ALSO π
Kernel file ./block/blk-core.c β and the whole friend group:
blk_queue_flag_set(9)blk_queue_flag_clear(9)blk_op_str(9)blk_sync_queue(9)blk_set_pm_only(9)blk_put_queue(9)blk_queue_enter(9)blk_get_queue(9)submit_bio_noacct(9)bio_poll(9)bio_start_io_acct(9)blk_lld_busy(9)blk_start_plug(9)blk_finish_plug(9)
and that's the page!! π this lil beauty lives in the ./block directory, dated October 2026, and its manual name is submit_bio(9) β go submit something iconic, bestie, and remember: don't touch the bio until the callback says so π§ββοΈβ¨
π¦ 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