summaryrefslogtreecommitdiffstats
path: root/examples/iostat-scsi.stp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/iostat-scsi.stp')
-rw-r--r--examples/iostat-scsi.stp12
1 files changed, 8 insertions, 4 deletions
diff --git a/examples/iostat-scsi.stp b/examples/iostat-scsi.stp
index f02f4275..63b0496c 100644
--- a/examples/iostat-scsi.stp
+++ b/examples/iostat-scsi.stp
@@ -1,20 +1,24 @@
-#! /usr/bin/stap
+#!/bin/env stap
global devices, reads, writes
/* data collection: SCSI disk */
-probe module("sd_mod").function("sd_init_command") {
+probe module("sd_mod").function("sd_init_command") ?, kernel.function("sd_init_command") ? {
device=kernel_string($SCpnt->request->rq_disk->disk_name)
sector_size=$SCpnt->device->sector_size
nr_sectors=$SCpnt->request->nr_sectors
devices[device] = 1
- if ($SCpnt->request->flags /* cmd_flags on some kernels */ & 1)
+%(kernel_v>="2.6.19" %?
+ if ($SCpnt->request->cmd_flags & 1)
+%:
+ if ($SCpnt->request->flags & 1)
+%)
writes[device] <<< nr_sectors * sector_size
else
reads[device] <<< nr_sectors * sector_size
}
/* data collection: SCSI tape */
-probe module("st").function("st_do_scsi") {
+probe module("st").function("st_do_scsi") ?, kernel.function("st_do_scsi") ? {
device=kernel_string($STp->disk->disk_name)
devices[device] = 1
if ($direction)