summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tapset/scheduler.stp7
-rw-r--r--tapset/tty.stp53
-rw-r--r--tapset/vfs.stp66
-rwxr-xr-xtestsuite/buildok/vfs_testcase.stp2
4 files changed, 39 insertions, 89 deletions
diff --git a/tapset/scheduler.stp b/tapset/scheduler.stp
index 1610dc0a..46463514 100644
--- a/tapset/scheduler.stp
+++ b/tapset/scheduler.stp
@@ -1,6 +1,7 @@
// scheduler tapset
// Copyright (C) 2006 Intel Corporation.
// Copyright (C) 2005, 2006 IBM Corp.
+// Copyright (C) 2010 Red Hat Inc.
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
@@ -285,11 +286,7 @@ probe __scheduler.migrate.kp1 = kernel.function("pull_task")
}
probe __scheduler.migrate.kp = kernel.function("set_task_cpu")
{
-%( kernel_v >= "2.6.23" %?
- cpu_to = $new_cpu
-%:
- cpu_to = $cpu
-%)
+ cpu_to = (@defined($new_cpu) ? $new_cpu : $cpu)
}
probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task")
{
diff --git a/tapset/tty.stp b/tapset/tty.stp
index 2c4507d2..4cf27a4a 100644
--- a/tapset/tty.stp
+++ b/tapset/tty.stp
@@ -1,5 +1,6 @@
// tty tapset
// Copyright (C) 2009 IBM Corp.
+// Copyright (C) 2010 Red Hat Inc.
//
// Author: Breno Leitao <leitao@linux.vnet.ibm.com>
//
@@ -22,11 +23,8 @@ probe tty.open = kernel.function("tty_open") {
inode_state = $inode->i_state
inode_flags = $inode->i_flags
-%( kernel_v >= "2.6.20" %?
- file_name = d_name($filp->f_path->dentry)
-%:
- file_name = d_name($filp->f_dentry)
-%)
+ file_name = d_name(@defined($filp->f_path->dentry)
+ ? $filp->f_path->dentry : $filp->f_dentry)
file_mode = $filp->f_mode
file_flags = $filp->f_flags
}
@@ -45,11 +43,8 @@ probe tty.release = kernel.function("tty_release") {
inode_state = $inode->i_state
inode_flags = $inode->i_flags
-%( kernel_v >= "2.6.20" %?
- file_name = d_name($filp->f_path->dentry)
-%:
- file_name = d_name($filp->f_dentry)
-%)
+ file_name = d_name(@defined($filp->f_path->dentry)
+ ? $filp->f_path->dentry : $filp->f_dentry)
file_mode = $filp->f_mode
file_flags = $filp->f_flags
}
@@ -86,12 +81,8 @@ probe tty.resize = kernel.function("tty_do_resize") ? {
* @arg: the ioctl argument
*/
probe tty.ioctl = kernel.function("tty_ioctl"){
-%( kernel_v >= "2.6.20" %?
- name = kernel_string($file->f_path->dentry->d_iname)
-%:
- name = kernel_string($file->f_dentry->d_iname)
-%)
-
+ name = kernel_string(@defined($file->f_path->dentry->d_iname)
+ ? $file->f_path->dentry->d_iname : $file->f_dentry->d_iname)
cmd = $cmd
arg = $arg
}
@@ -142,18 +133,10 @@ probe tty.unregister = kernel.function("tty_unregister_device"){
* @wait_key: the wait queue key
*/
probe tty.poll = kernel.function("tty_poll"){
-%( kernel_v >= "2.6.20" %?
- file_name = d_name($filp->f_path->dentry)
-%:
- file_name = d_name($filp->f_dentry)
-%)
-
-%( kernel_v >= "2.6.31" %?
- if ($wait)
- wait_key = $wait->key
- else
-%)
- wait_key = 0
+ file_name = d_name(@defined($filp->f_path->dentry)
+ ? $filp->f_path->dentry : $filp->f_dentry)
+
+ wait_key = (@defined($wait->key) ? ($wait ? $wait->key : 0) : 0)
}
/**
@@ -188,11 +171,8 @@ probe tty.write = kernel.function("n_tty_write") ? {
buffer = kernel_string($buf)
nr = $nr
-%( kernel_v >= "2.6.20" %?
- file_name = d_name($file->f_path->dentry)
-%:
- file_name = d_name($file->f_dentry)
-%)
+ file_name = d_name(@defined($file->f_path->dentry)
+ ? $file->f_path->dentry : $file->f_dentry)
driver_name = kernel_string($tty->driver->driver_name)
}
@@ -206,10 +186,7 @@ probe tty.write = kernel.function("n_tty_write") ? {
probe tty.read = kernel.function("n_tty_read") ? {
buffer = kernel_string($buf)
nr = $nr
-%( kernel_v >= "2.6.20" %?
- file_name = d_name($file->f_path->dentry)
-%:
- file_name = d_name($file->f_dentry)
-%)
+ file_name = d_name(@defined($file->f_path->dentry)
+ ? $file->f_path->dentry : $file->f_dentry)
driver_name = kernel_string($tty->driver->driver_name)
}
diff --git a/tapset/vfs.stp b/tapset/vfs.stp
index 23d95098..5a38a924 100644
--- a/tapset/vfs.stp
+++ b/tapset/vfs.stp
@@ -124,11 +124,11 @@ function __file_maxbytes:long (file:long)
function __file_filename:string (file:long)
{
-%( kernel_v >= "2.6.20" %?
- dentry = file? @cast(file, "file", "kernel")->f_path->dentry : 0
-%:
- dentry = file? @cast(file, "file", "kernel")->f_dentry : 0
-%)
+ dentry = file
+ ? (@defined(@cast(file, "file", "kernel")->f_path->dentry)
+ ? @cast(file, "file", "kernel")->f_path->dentry
+ : @cast(file, "file", "kernel")->f_dentry)
+ : 0
name = dentry? @cast(dentry, "dentry", "kernel")->d_name->name : 0
if (name == 0)
return "NULL"
@@ -194,11 +194,7 @@ probe generic.fop.aio_read =
devname = __find_bdevname(dev, __file_bdev($iocb->ki_filp))
ino = __file_ino($iocb->ki_filp)
-%( kernel_v >= "2.6.19" %?
- pos = $pos
-%:
- pos = ppos_pos($ppos)
-%)
+ pos = (@defined($pos) ? $pos : ppos_pos($ppos))
buf = $iov->iov_base
count = __iov_length($iov,$nr_segs,1,1) /*FIX ME: should be VERIFY_WRITE instead of 1*/
name = "generic_file_aio_read"
@@ -236,13 +232,10 @@ probe generic.fop.aio_write = kernel.function ("generic_file_aio_write")
pos = $pos
-%( kernel_v >= "2.6.19" %?
- count = __iov_length($iov,$nr_segs,1,0) /*FIX ME: should be VERIFY_READ instead of 0*/
- buf = $iov->iov_base
-%:
- buf = $buf
- count = $count
-%)
+ count = (@defined($iov)
+ ? __iov_length($iov,$nr_segs,1,0) /*FIX ME: should be VERIFY_READ instead of 0*/
+ : $count)
+ buf = (@defined($iov->iov_base) ? $iov->iov_base : $buf)
name = "generic_file_aio_write"
argstr = sprintf("%d, %d ,%p", count, pos,buf)
@@ -261,7 +254,6 @@ probe generic.fop.aio_write.return = kernel.function ("generic_file_aio_write").
}
}
-%( kernel_v < "2.6.19" %?
probe generic.fop.readv = kernel.function ("generic_file_readv") ?
{
dev = __file_dev($filp)
@@ -319,8 +311,6 @@ probe generic.fop.writev.return = kernel.function ("generic_file_writev").return
units = "bytes"
}
}
-%:
-%)
/* checks for aops->readpage, if not defined, return -ENOEXEC
else assigns generic_file_vm_ops to vma
@@ -368,8 +358,7 @@ probe generic.fop.open.return = kernel.function ("generic_file_open").return
retstr = sprintf("%d", $return)
}
-%( kernel_v < "2.6.23" %?
-probe generic.fop.sendfile = kernel.function ("generic_file_sendfile")
+probe generic.fop.sendfile = kernel.function ("generic_file_sendfile") ?
{
dev = __file_dev($in_file)
devname = __find_bdevname(dev, __file_bdev($in_file))
@@ -384,7 +373,7 @@ probe generic.fop.sendfile = kernel.function ("generic_file_sendfile")
size = count
units = "bytes"
}
-probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").return
+probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").return ?
{
name = "generic_file_sendfile"
retstr = sprintf("%d", $return)
@@ -394,7 +383,6 @@ probe generic.fop.sendfile.return = kernel.function ("generic_file_sendfile").re
units = "bytes"
}
}
-%)
probe generic.fop.splice_read = kernel.function ("generic_file_splice_read") ?
{
@@ -464,7 +452,6 @@ probe generic.fop.splice_write.return = kernel.function ("generic_file_splice_wr
}
}
-%( kernel_v < "2.6.19" %?
probe generic.fop.read = kernel.function ("generic_file_read") ?
{
dev = __file_dev($filp)
@@ -514,7 +501,6 @@ probe generic.fop.write.return = kernel.function ("generic_file_write").return ?
units = "bytes"
}
}
-%)
/* generic_writepages calls mpage_writepages(mapping, wbc, NULL) */
probe generic.aop.writepages = kernel.function ("mpage_writepages")
@@ -708,11 +694,8 @@ probe vfs.do_mpage_readpage.return = kernel.function ("do_mpage_readpage").retur
units = "pages"
}
-%( kernel_v >= "2.6.27" %?
-probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache_locked")
-%:
-probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache")
-%)
+probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache_locked") !,
+ kernel.function ("add_to_page_cache")
{
dev = $mapping->host->i_sb->s_dev
devname = __find_bdevname(dev, $mapping->host->i_sb->s_bdev)
@@ -725,11 +708,8 @@ probe vfs.add_to_page_cache = kernel.function ("add_to_page_cache")
argstr = sprintf("%d, %d", ino, index)
}
-%( kernel_v >= "2.6.27" %?
-probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache_locked").return
-%:
-probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache").return
-%)
+probe vfs.add_to_page_cache.return = kernel.function ("add_to_page_cache_locked").return !,
+ kernel.function ("add_to_page_cache").return
{
name = "vfs.add_to_page_cache"
retstr = sprintf("%d", $return)
@@ -882,15 +862,13 @@ probe _vfs.generic_block_bmap = kernel.function ("generic_block_bmap")
get_block = $get_block
}
-%( kernel_v <= "2.6.25" %?
-probe _vfs.generic_commit_write = kernel.function ("generic_commit_write")
+probe _vfs.generic_commit_write = kernel.function ("generic_commit_write") ?
{
file = $file
page = $page
from = $from
to = $to
}
-%)
probe _vfs.block_prepare_write = kernel.function ("__block_prepare_write")
{
@@ -912,8 +890,7 @@ probe _vfs.block_prepare_write.return = kernel.function("__block_prepare_write")
error_str = error ? errno_str(error) : ""
}
-%( kernel_v >= "2.6.24" %?
-probe _vfs.block_write_begin = kernel.function ("block_write_begin")
+probe _vfs.block_write_begin = kernel.function ("block_write_begin") ?
{
file = $file
pos = $pos
@@ -923,7 +900,7 @@ probe _vfs.block_write_begin = kernel.function ("block_write_begin")
_inode = __address_inode($mapping)
}
-probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").return
+probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").return ?
{
file = $file
pos = $pos
@@ -937,7 +914,7 @@ probe _vfs.block_write_begin.return = kernel.function ("block_write_begin").retu
error_str = error ? errno_str(error) : ""
}
-probe _vfs.block_write_end = kernel.function ("block_write_end")
+probe _vfs.block_write_end = kernel.function ("block_write_end") ?
{
file = $file
pos = $pos
@@ -946,7 +923,7 @@ probe _vfs.block_write_end = kernel.function ("block_write_end")
_inode = __address_inode($mapping)
}
-probe _vfs.block_write_end.return = kernel.function ("block_write_end").return
+probe _vfs.block_write_end.return = kernel.function ("block_write_end").return ?
{
file = $file
pos = $pos
@@ -955,4 +932,3 @@ probe _vfs.block_write_end.return = kernel.function ("block_write_end").return
_inode = __address_inode($mapping)
ret = $return
}
-%)
diff --git a/testsuite/buildok/vfs_testcase.stp b/testsuite/buildok/vfs_testcase.stp
index 54975819..6700bdf9 100755
--- a/testsuite/buildok/vfs_testcase.stp
+++ b/testsuite/buildok/vfs_testcase.stp
@@ -1,4 +1,4 @@
-#! stap -up4
+#! stap -p4
probe generic.fop.llseek
{
print("Probe hit the function: %s\n", name);