bio_copy_data(9)
π bio_copy_data(9) β from the Kernel API Manual π
okay bestie, before we even start: this page is literally called bio_copy_data(9) and it lives in the Kernel API Manual, so yeah, you're in kernel-land now. grab a snack, we're copying data buffers π¦
β¨ NAME β¨
bio_copy_data β copy contents of data buffers from one bio to another π
πΈ SYNOPSIS πΈ
void bio_copy_data (struct bio *dst , struct bio *src );
π«Ά ARGUMENTS π«Ά
dstβ destination bio β¨srcβ source bio π
π DESCRIPTION π
okay so the whole vibe here is: it copies, and it stops the moment it hits the end of either src or dst. Like, whichever one runs out of runway first, that's the finish line. no cap π
so bestie, it literally copies min(src->bi_size, dst->bi_size) bytes β or the equivalent for lists of bios π
π₯ SEE ALSO π₯
it's giving "linked list of related functions," so here's the full squad, in order, no skips π:
Kernel file ./block/bio.c 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), bio_await(9), submit_bio_wait(9), bdev_rw_virt(9), bio_endio(9), bio_split(9), bio_trim(9), bioset_init(9)
π that's the whole page, bestie β every flag-free, option-free, gloriously tiny byte of it. iykyk π
anyway, this fairy godmother of a page comes to you from the ./block source, dated October 2026 π§ β so like, see you there, slay, periodt π
π¦
π¦ 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