bio_reuse(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– bio_reuse πŸ’–

okay so this is a page from the Kernel API Manual, and honestly it's a little cutie. let's get into it 🫢


✨ NAME ✨

bio_reuse β€” reuse a bio with the payload left intact πŸ’…


🌸 SYNOPSIS 🌸

void bio_reuse (struct bio *bio , blk_opf_t opf );

πŸŽ€ ARGUMENTS πŸŽ€

  • bio β€” the bio you're reusing, bestie. that's the one.
  • opf β€” the operation and flags for the next I/O πŸ”₯

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically this lets you reuse an existing bio for another operation while leaving all the already-set-up fields intact β€” and yes that includes the payload, the device, and the end_io handler. nothing gets disturbed. icon behavior, honestly 🌈

the classic vibe check use case: the bio was first used to read data, and then that data gets written to another location without modification. no editing, no re-doing the setup, just slay and reuse ✨

⚠️ but listen β€” bio must not be in-flight, and it has to be owned by the caller. no cap, that part matters. and it can't be used for cloned bios. periodt πŸ’€

πŸ’œ NOTE πŸ’œ

for now, it can't be used when the bio has integrity or blk-crypto contexts πŸ™ˆ

but the page literally says feel free to add that support when you need it, though β€” so like, main character energy if you do πŸ‘‘


⭐ SEE ALSO ⭐

ya girl comes with friends πŸ’– and there's a kernel file too: ./block/bio.c


and that's the whole page, bestie πŸ“ mwah πŸ’‹

sign-off time: this one lives in ./block, it's the October 2026 edition, and it goes by bio_reuse(9) β€” iykyk πŸ’…πŸŽ€

πŸ“¦ where this page comes from