summaryrefslogtreecommitdiff
path: root/systemtap/src/ioriot.stp
diff options
context:
space:
mode:
Diffstat (limited to 'systemtap/src/ioriot.stp')
-rw-r--r--systemtap/src/ioriot.stp28
1 files changed, 23 insertions, 5 deletions
diff --git a/systemtap/src/ioriot.stp b/systemtap/src/ioriot.stp
index 9ea6a68..ee77263 100644
--- a/systemtap/src/ioriot.stp
+++ b/systemtap/src/ioriot.stp
@@ -71,6 +71,15 @@ function absolute_path (path) {
return task_dentry_path(tc, pwd_dentry, pwd_mnt) . "/" . path;
}
+# Stop probing after 1h (for safety)
+probe timer.s(3600) {
+ exit();
+}
+
+probe begin {
+ printf("#|capture_version=%d|\n", 2);
+}
+
probe syscall.open.return, syscall.openat.return {
if (execname() != "stapio") {
pathname = user_string(@entry($filename))
@@ -100,6 +109,20 @@ probe syscall.lseek.return {
}
}
+probe syscall.llseek.return {
+ if(execname() != "stapio") {
+ printf("t=%d;:,i=%d:%d;:,o=%s;:,d=%d;:,O=%d;:,W=%d;:,b=%d;:,\n",
+ gettimeofday_ms(),
+ pid(),
+ tid(),
+ name,
+ @entry($fd),
+ (@entry($offset_high) << 32 | @entry($offset_low)),
+ @entry($whence),
+ $return);
+ }
+}
+
probe syscall.fcntl.return {
if(execname() != "stapio") {
printf("t=%d;:,i=%d:%d;:,o=%s;:,d=%d;:,F=%d;:,G=%d;:,s=%d;:,\n",
@@ -583,9 +606,4 @@ probe syscall.exit_group {
}
}
-# Stop probing after 1h (for safety)
-probe timer.s(3600) {
- exit();
-}
-
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4