PROBE::IOBLOCK_TRACE.REQUEST(3stap)
๐ PROBE::IOBLOCK_TRACE.REQUEST ๐
okay bestie, gather round, because this is a page from the SystemTap Tapset Reference and it's literally the moment a block I/O request is born. no cap. it's a 3stap manual, so you know it's tapset business ๐
โจ NAME โจ
probe::ioblock_trace.request โ fires just as a generic block I/O request is created for a bio. like, the very instant. the origin story. the main character entrance ๐ฌโจ
๐ SYNOPSIS ๐
probe ioblock_trace.request {}
that's it. that's the whole vibe. no args, no drama, just a probe point sitting there waiting for bios ๐ฆ
๐ธ VALUES ๐ธ
these are all the little goodies you can peek at inside the probe. every single one, no skipping, we're doing the full tour ๐ซถ
sizeโ total size in bytes, the whole shebang ๐p_start_sectโ points to the start sector of the partition structure of the device ๐งญqโ the request queue on which this bio was queued. yes queen, get in line ๐vcntโ bio vector count, which represents the number of array elements (page, offset, length) that make up this I/O request ๐งฎinoโ i-node number of the mapped file ๐bytes_doneโ number of bytes transferred โnameโ name of the probe point ๐ท๏ธrwโ binary trace for read/write request ๐โ๏ธflagsโ see below, it's a whole mood board of bio states:BIO_UPTODATE0โ ok after I/O completion โจBIO_RW_BLOCK1โRW_AHEADset, and read/write would block ๐BIO_EOF2โ out-out-bounds error ๐ญBIO_SEG_VALID3โnr_hw_segvalid ๐BIO_CLONED4โ doesn't own data ๐ฏBIO_BOUNCED5โ bio is a bounce bio ๐BIO_USER_MAPPED6โ contains user pages ๐งBIO_EOPNOTSUPP7โ not supported ๐
bdev_containsโ points to the device object which contains the partition (when the bio structure represents a partition) ๐๏ธsectorโ beginning sector for the entire bio ๐ฏidxโ offset into the bio vector arrayphys_segments- number of segments in this bio after physical address coalescing is performed ๐devnameโ block device name ๐พopfโ operations and flags ๐๏ธbdevโ target block device ๐ฏ
๐ CONTEXT ๐
the process makes block I/O request. periodt. that's the context, bestie ๐ซก
๐ SEE ALSO ๐
tapset::ioblock(3stap)โ go read the whole ioblock tapset family, iykyk ๐
ngl, if you're tracing block I/O and you skipped this probe, that's a red flag ๐ฉ it fires just as the request gets created, so it's giving "front row seats to the whole story" energy ๐ฅ
mwah ๐ this was brought to you by the SystemTap Tapset Reference, September 2026 edition โ go forth and trace, you absolute icon ๐๐โจ
๐ฆ 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