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 file
  • name β€” 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 bio
  • idx β€” 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_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

(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 request
  • phys_segments β€” number of segments in this bio after physical address coalescing is performed
  • hw_segments β€” number of segments after physical and DMA remapping hardware coalescing is performed πŸ”₯
  • bdev β€” target block device
  • opf β€” 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 ⭐


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