PROBE::IOBLOCK.REQUEST(3stap)
π probe::ioblock.request β from the IO Scheduler and block IO Taps manual (section 3stap) π
okay bestie, sit DOWN, because this is the page for probe::ioblock.request, and it's lowkey one of the most useful taps in the whole SystemTap tapset situation. no cap. β¨
β¨ NAME β¨
probe::ioblock.request β fires whenever making a generic block I/O request.
like. every single time a generic block I/O request happens?? that's when this probe pops off. it's giving "always watching, always ready" π«Ά
π SYNOPSIS π
probe ioblock.request {}
that's it. that's the whole thing. no arguments, no fuss, just vibes. she's simple and she's iconic π
πΈ VALUES πΈ
okay so this is the part where it gets GOOD, because this probe hands you a whole lil gift bag of values. every one of them, in order, no skips, no cuts:
sizeβ total size in bytes πp_start_sectβ points to the start sector of the partition structure of the device π¦inoβ i-node number of the mapped filenameβ name of the probe point (yes she named herself, main character energy π)vcntβ bio vector count, which represents the number of array elements (page, offset, length) that make up this I/O request β¨bdev_containsβ points to the device object which contains the partition (and this one's only relevant when the bio structure represents a partition, iykyk)sectorβ beginning sector for the entire bioidxβ offset into the bio vector array πdevnameβ block device name πflagsβ okay so this is a whole thing, see below, because there's a whole little menu of flag values:BIO_UPTODATE0β ok after I/O completionBIO_RW_BLOCK1βRW_AHEADset, and read/write would blockBIO_EOF2β out-out-bounds errorBIO_SEG_VALID3βnr_hw_segvalidBIO_CLONED4β doesn't own dataBIO_BOUNCED5β bio is a bounce bioBIO_USER_MAPPED6β contains user pagesBIO_EOPNOTSUPP7β not supported
(yes, BIO_EOF says "out-out-bounds" in the source and honestly we respect the stutter, it's charming π)
rwβ binary trace for read/write requestphys_segmentsβ number of segments in this bio after physical address coalescing is performedhw_segmentsβ number of segments after physical and DMA remapping hardware coalescing is performed π₯bdevβ target block deviceopfβ operations and flags
sixteen values. sixteen lil besties. obsessed. π
π§ CONTEXT π§
the process makes block I/O request. that's the context, bestie. the process is out here requesting block I/O and this probe is right there with it. periodt.
β SEE ALSO β
tapset::ioblock(3stap)β go read this one too, it's the whole tapset family reunion πΈ
and that's the page!! shoutout to the SystemTap Tapset Reference, and this one's dated September 2026 (the version field is abbreviated on the page, so that's all we've got, no cap) β she's future-proofed and fabulous. take care of her, run her responsibly, and go trace some block I/O for me πβ¨π
π¦ where this page comes from
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms