summaryrefslogtreecommitdiffstats
path: root/tapset/syscalls.stp
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2010-03-21 09:55:10 +0100
committerMark Wielaard <mjw@redhat.com>2010-03-21 17:34:41 +0100
commit6c8598ca45b8c0910fc0f45352b31711164e4d1c (patch)
treeda644055ff15c14340fdc20d55374ca8a9448fdd /tapset/syscalls.stp
parentc01a52256bfbd9a3d2873b2d48f7f94177d14641 (diff)
downloadsystemtap-steved-6c8598ca45b8c0910fc0f45352b31711164e4d1c.tar.gz
systemtap-steved-6c8598ca45b8c0910fc0f45352b31711164e4d1c.tar.xz
systemtap-steved-6c8598ca45b8c0910fc0f45352b31711164e4d1c.zip
Add inotify_init1() and inotify_add_watch() mask string support.
* tapset/aux_syscalls.stp (_inotify_watch_mask_str): New helper function. (_inotify_init1_flag_str): Likewise. * tapset/syscalls.stp (inotify_add_watch): Stringify watch mask. (syscall.inotify_init[.return]): Add inotify_init1() support. * testsuite/systemtap.syscall/inotify.c: New test.
Diffstat (limited to 'tapset/syscalls.stp')
-rw-r--r--tapset/syscalls.stp27
1 files changed, 20 insertions, 7 deletions
diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp
index 86f81abf..6bd7a3dd 100644
--- a/tapset/syscalls.stp
+++ b/tapset/syscalls.stp
@@ -2079,9 +2079,9 @@ probe syscall.inotify_add_watch = kernel.function("SyS_inotify_add_watch").call
mask = $mask
path_uaddr = (@defined($pathname) ? $pathname : $path)
path = user_string(@defined($pathname) ? $pathname : $path)
- argstr = sprintf("%d, %s, %d", $fd,
+ argstr = sprintf("%d, %s, %s", $fd,
user_string_quoted(@defined($pathname) ? $pathname : $path),
- $mask)
+ _inotify_watch_mask_str($mask))
}
probe syscall.inotify_add_watch.return = kernel.function("SyS_inotify_add_watch").return !,
@@ -2095,14 +2095,27 @@ probe syscall.inotify_add_watch.return = kernel.function("SyS_inotify_add_watch"
#
# long sys_inotify_init(void)
#
-probe syscall.inotify_init = kernel.function("sys_inotify_init").call ?
+probe syscall.inotify_init = kernel.function("SyS_inotify_init1").call !,
+ kernel.function("sys_inotify_init1").call !,
+ kernel.function("SyS_inotify_init").call !,
+ kernel.function("sys_inotify_init").call ?
{
- name = "inotify_init"
- argstr = ""
+ flags = @defined($flags) ? $flags : 0;
+ if (flags == 0) {
+ name = "inotify_init"
+ argstr = ""
+ } else {
+ name = "inotify_init1"
+ argstr = _inotify_init1_flag_str(flags)
+ }
}
-probe syscall.inotify_init.return = kernel.function("sys_inotify_init").return ?
+probe syscall.inotify_init.return = kernel.function("SyS_inotify_init1").return !,
+ kernel.function("sys_inotify_init1").return !,
+ kernel.function("SyS_inotify_init").return !,
+ kernel.function("sys_inotify_init").return ?
{
- name = "inotify_init"
+ flags = @defined($flags) ? $flags : 0;
+ name = (flags == 0) ? "inotify_init" : "inotify_init1"
retstr = returnstr(1)
}