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_UPTODATE 0 โ€” ok after I/O completion โœจ
    • BIO_RW_BLOCK 1 โ€” RW_AHEAD set, and read/write would block ๐Ÿ›‘
    • BIO_EOF 2 โ€” out-out-bounds error ๐Ÿ˜ญ
    • BIO_SEG_VALID 3 โ€” nr_hw_seg valid ๐Ÿ‘
    • BIO_CLONED 4 โ€” doesn't own data ๐Ÿ‘ฏ
    • BIO_BOUNCED 5 โ€” bio is a bounce bio ๐Ÿ€
    • BIO_USER_MAPPED 6 โ€” contains user pages ๐Ÿง‘
    • BIO_EOPNOTSUPP 7 โ€” 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 array phys_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 ๐Ÿ’œ


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