submit_bio(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 β€” the struct bio that'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: the bio must NOT be touched by the caller until ->bi_end_io has 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:


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