diff options
author | ddomingo <ddomingo@redhat.com> | 2008-10-27 13:24:21 +1000 |
---|---|---|
committer | ddomingo <ddomingo@redhat.com> | 2008-10-27 13:24:21 +1000 |
commit | 709fde54c8c296d537e58af4bc619b18c654f6a2 (patch) | |
tree | ac536116a48ab154a2f25cc206af68bdaa018ab6 /testsuite/systemtap.examples/general | |
parent | 313cfc85e435b93bfa9110cda3e3f930de066643 (diff) | |
download | systemtap-steved-709fde54c8c296d537e58af4bc619b18c654f6a2.tar.gz systemtap-steved-709fde54c8c296d537e58af4bc619b18c654f6a2.tar.xz systemtap-steved-709fde54c8c296d537e58af4bc619b18c654f6a2.zip |
added inodewatch from warstories
Diffstat (limited to 'testsuite/systemtap.examples/general')
-rw-r--r-- | testsuite/systemtap.examples/general/inodewatch-simple.stp | 11 | ||||
-rw-r--r-- | testsuite/systemtap.examples/general/inodewatch2-simple.stp | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/testsuite/systemtap.examples/general/inodewatch-simple.stp b/testsuite/systemtap.examples/general/inodewatch-simple.stp new file mode 100644 index 00000000..5f81008d --- /dev/null +++ b/testsuite/systemtap.examples/general/inodewatch-simple.stp @@ -0,0 +1,11 @@ +probe kernel.function ("vfs_write"),
+ kernel.function ("vfs_read")
+{
+ dev_nr = $file->f_dentry->d_inode->i_sb->s_dev
+ inode_nr = $file->f_dentry->d_inode->i_ino
+ if (dev_nr == ($1 << 20 | $2) # major/minor device
+ && inode_nr == $3)
+ printf ("%s(%d) %s 0x%x/%u\n",
+ execname(), pid(), probefunc(), dev_nr, inode_nr)
+}
+ stap -p4 para-callgraph.stp sys_read '*@fs/*.c' diff --git a/testsuite/systemtap.examples/general/inodewatch2-simple.stp b/testsuite/systemtap.examples/general/inodewatch2-simple.stp new file mode 100644 index 00000000..4fea18e6 --- /dev/null +++ b/testsuite/systemtap.examples/general/inodewatch2-simple.stp @@ -0,0 +1,12 @@ +global ATTR_MODE = 1
+
+probe kernel.function("inode_setattr") {
+ dev_nr = $inode->i_sb->s_dev
+ inode_nr = $inode->i_ino
+
+ if (dev_nr == ($1 << 20 | $2) # major/minor device
+ && inode_nr == $3
+ && $attr->ia_valid & ATTR_MODE)
+ printf ("%s(%d) %s 0x%x/%u %o %d\n",
+ execname(), pid(), probefunc(), dev_nr, inode_nr, $attr->ia_mode, uid())
+}
|