diff options
author | Mark Wielaard <mjw@redhat.com> | 2010-03-21 09:55:10 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2010-03-21 17:34:41 +0100 |
commit | 6c8598ca45b8c0910fc0f45352b31711164e4d1c (patch) | |
tree | da644055ff15c14340fdc20d55374ca8a9448fdd /tapset/syscalls.stp | |
parent | c01a52256bfbd9a3d2873b2d48f7f94177d14641 (diff) | |
download | systemtap-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.stp | 27 |
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) } |