trace_block_split(9)
π trace_block_split(9) β a Kernel API Manual moment
okay so bestie, welcome to the Kernel API Manual page for trace_block_split(9) β this is the group chat where we talk about splitting one bio struct into two bio structs. no cap, that's literally the whole vibe. π¦
β¨ NAME β¨
trace_block_split β split a single bio struct into two bio structs π«
πΈ SYNOPSIS πΈ
void trace_block_split (struct bio *bio , unsigned int new_sector );
that's it. that's the whole signature. iconic. π
π«Ά ARGUMENTS π«Ά
bioβ the block operation that's getting split. it's the main character here, lowkey the one going through it πnew_sectorβ the starting sector for the newbio. like, where the freshly-made baby bio begins its life β¨
π DESCRIPTION π
so here's the tea: the bio request bio needs to be split into two bio requests. the way that this works is the newly created bio request starts at new_sector β that's its whole starting point, fr fr.
and why would anyone even do this, you ask? because sometimes hardware is dramatic and has limitations, bestie. like, an operation might be crossing device boundaries in a RAID system π and the hardware's just not gonna deal with that. so we split. and that's valid. the split may be required due to exactly that kind of hardware limitation, no more, no less. π
β οΈ quick vibe check: this is a tracing hook β the split being described is about the operation crossing device boundaries in a RAID system and other hardware limits, so don't go inventing new reasons, iykyk.
π₯ SEE ALSO π₯
kernel file ./include/trace/events/block.h and honestly the whole friend group:
trace_block_touch_buffer(9)trace_block_dirty_buffer(9)trace_block_rq_requeue(9)trace_block_rq_complete(9)trace_block_rq_error(9)trace_block_rq_tag_wait(9)trace_block_rq_insert(9)trace_block_rq_issue(9)trace_block_rq_merge(9)trace_block_io_start(9)trace_block_io_done(9)trace_block_bio_complete(9)trace_block_bio_backmerge(9)trace_block_bio_frontmerge(9)trace_block_bio_queue(9)trace_block_getrq(9)trace_blk_zone_append_update_request_bio(9)trace_block_plug(9)trace_block_unplug(9)trace_block_bio_remap(9)trace_block_rq_remap(9)trace_blkdev_zone_mgmt(9)
okay that's the whole page, you ate that π go forth and split ur bios responsibly, bestie ππ
β signed off with love from the <rainbow>./include/trace/events</rainbow> corner of the kernel tree, dated October 2026 π§ββοΈβ (that's the source and the date, so you know it's legit π)
π¦ 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