summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuite/systemtap.examples/io/mbrwatch.meta6
-rwxr-xr-xtestsuite/systemtap.examples/io/mbrwatch.stp9
2 files changed, 15 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/io/mbrwatch.meta b/testsuite/systemtap.examples/io/mbrwatch.meta
new file mode 100644
index 00000000..0ff88b13
--- /dev/null
+++ b/testsuite/systemtap.examples/io/mbrwatch.meta
@@ -0,0 +1,6 @@
+title: Monitor read/write of MBR (boot sector) area of block devices
+name: mbrwatch.stp
+keywords: io monitoring
+description: The mbrwatch.stp script reports any attempted reads/writes of the first few sectors of a raw block device.
+test_check: stap -p4 mbrwatch.stp
+test_installcheck: stap mbrwatch.stp -c "dd of=/dev/null count=1 if=/dev/`grep -v major /proc/partitions | grep . | awk '{print $4}' | head -1`"
diff --git a/testsuite/systemtap.examples/io/mbrwatch.stp b/testsuite/systemtap.examples/io/mbrwatch.stp
new file mode 100755
index 00000000..9d621619
--- /dev/null
+++ b/testsuite/systemtap.examples/io/mbrwatch.stp
@@ -0,0 +1,9 @@
+#! /usr/bin/env stap
+
+probe ioblock.request {
+ if (bdev==bdev_contains && sector<4) {
+ printf("device %s sector %d %s, process %s[%d]\n",
+ devname, sector, (rw==BIO_READ ? "read":"write"), execname(), pid())
+ print_backtrace()
+ }
+}