PROBE::SCSI.IOEXEC(3stap)
β¨ PROBE::SCSI.IOEXEC β¨
okay bestie, we're in the SCSI Tapset section of the SystemTap Tapset Reference (that's the 3stap manual, iykyk) and this page is literally just about one little probe. let's get into it π
π¦ NAME π¦
probe::scsi.ioexecute β the probe that creates a mid-layer SCSI request and then justβ¦ waits for the result. it's giving patient queen energy, honestly. π
πΈ SYNOPSIS πΈ
probe scsi.ioexecute {}
that's it. that's the whole thing. no arguments, no nothing. iconic minimalism. β¨
π VALUES π
okay so when this probe fires, here's all the tea it hands you. every single one, no skipping:
data_directionβ tells you whether this command is heading from the device or to the device. direction check, bestie. π§timeoutβ how long the request is allowed to hang out before it times out. in seconds.device_stateβ the current state of the device. how's she doing? this is how.lunβ the lun number. yes, that lun number.channelβ the channel number.retriesβ how many times we're gonna retry this request. (manifesting it works on try one tho π)host_noβ the host number.request_bufflenβ the length of the data buffer. (the original says "the data buffer buffer length" and honestly same, we all stutter sometimes π)request_bufferβ the address of the data buffer.data_direction_strβ same data direction as above, but as a string. cute lil string version. πdevice_state_strβ the current device state, but as a string. also the string edition.dev_idβ the scsi device id.
π DESCRIPTION π
so here's the vibe: prefer the modern scsi_execute_cmd. that's the moment. that's the main character. π
but β and this is the important part β you keep __scsi_execute / scsi_execute around anyway, so that RHEL8-era 4.18 still resolves. because back in the day, scsi_execute was often literally just a macro wrapped around __scsi_execute. macro behavior, no cap.
also: commit 994724e6b3f0 is the one that introduced scsi_execute_cmd, and it swapped things up β it takes opf / ml_retries instead of data_direction / retries. so like, if you were expecting the old names, that's why you're confused. it's not you, it's the commit. π₯
π SEE ALSO π
not me writing an entire essay about a probe that takes zero arguments π but she's doing important work and we respect her for it π«Ά
and that's the whole page, bestie!! this was the SystemTap Tapset Reference, dated September 2026 β stay hydrated, read your tapset docs, and go slay some SCSI requests. mwah πππ¦
π¦ 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