]> sourceware.org Git - systemtap.git/commitdiff
tapset: Add the macro @choose_defined and use it
authorJosh Stone <jistone@redhat.com>
Mon, 22 Oct 2012 20:55:49 +0000 (13:55 -0700)
committerJosh Stone <jistone@redhat.com>
Mon, 22 Oct 2012 20:55:49 +0000 (13:55 -0700)
This returns the first parameter if it's @defined, otherwise it returns
the second parameter, replacing the common @defined(x)?x:y pattern.

I only updated the tapsets to use this, as I feel that's where we should
show off good code practice.  There are opportunities in the testsuite
that could use it too, but it's not necessary, and probably better to
leave existing tests undisturbed when possible.

28 files changed:
tapset/choose_defined.stpm [new file with mode: 0644]
tapset/linux/dentry.stp
tapset/linux/i386/syscalls.stp
tapset/linux/inet_sock.stp
tapset/linux/ioblock.stp
tapset/linux/ioscheduler.stp
tapset/linux/ip.stp
tapset/linux/ipmib.stp
tapset/linux/irq.stp
tapset/linux/linuxmib.stp
tapset/linux/memory.stp
tapset/linux/networking.stp
tapset/linux/nfs.stp
tapset/linux/nfs_proc.stp
tapset/linux/nfsd.stp
tapset/linux/rpc.stp
tapset/linux/scheduler.stp
tapset/linux/scsi.stp
tapset/linux/signal.stp
tapset/linux/socket.stp
tapset/linux/syscalls.stp
tapset/linux/syscalls2.stp
tapset/linux/task.stp
tapset/linux/tcp.stp
tapset/linux/tcpmib.stp
tapset/linux/tty.stp
tapset/linux/vfs.stp
tapset/linux/x86_64/syscalls.stp

diff --git a/tapset/choose_defined.stpm b/tapset/choose_defined.stpm
new file mode 100644 (file)
index 0000000..6080095
--- /dev/null
@@ -0,0 +1,4 @@
+// Use the first parameter if it's @defined, otherwise use the second parameter
+@define choose_defined(value_if_defined, alternate) %(
+       ( @defined(@value_if_defined) ? (@value_if_defined) : (@alternate) )
+%)
index 7b4bfdb99e3fc17b40983c5237216f8e5d600688..035bbe39e6b794c70b5a8552eee2907cc0febebd 100644 (file)
@@ -181,12 +181,10 @@ function task_dentry_path:string(task:long,dentry:long,vfsmnt:long)
  */
 function d_path:string(nd:long)
 {
-       dentry = (@defined(@cast(nd,"nameidata")->path->dentry)
-           ? @cast(nd,"nameidata")->path->dentry
-           : @cast(nd,"nameidata")->dentry)
-       vfsmnt = (@defined(@cast(nd,"nameidata")->path->mnt)
-           ? @cast(nd,"nameidata")->path->mnt
-           : @cast(nd,"nameidata")->mnt)
+       dentry = @choose_defined(@cast(nd,"nameidata")->path->dentry,
+                                @cast(nd,"nameidata")->dentry)
+       vfsmnt = @choose_defined(@cast(nd,"nameidata")->path->mnt,
+                                @cast(nd,"nameidata")->mnt)
 
        return sprintf("%s/", task_dentry_path(task_current(), dentry, vfsmnt))
 }
index e1990bdb9cd789a109025e71ea7b113195805b89..9be16d5b8d237d95d16e83f84de2a2c6b9c31391 100644 (file)
@@ -139,8 +139,8 @@ probe syscall.sigaltstack = kernel.function("sys_sigaltstack")
        ussp = %( kernel_vr < "2.6.25" %? $ebx %: %( kernel_vr < "2.6.30" %? $bx %: $regs->bx %) %)
 %)
        if (@defined($regs)) {
-               uss_uaddr = (@defined($uss) ? $uss : $regs->bx)
-               uoss_uaddr = (@defined($uoss) ? $uoss : $regs->cx)
+               uss_uaddr = @choose_defined($uss, $regs->bx)
+               uoss_uaddr = @choose_defined($uoss, $regs->cx)
                regs = $regs
        }
        else if (@defined($bx)) {       # kernels < "2.6.30"
index fda46fb6329374d0c0f85de3b6a783f04da6573d..72b2be7ded920c5079097ab28220b51589f292d1 100644 (file)
  */
 function inet_get_local_port:long(sock:long)
 {
-    return (@defined(@cast(sock, "inet_sock")->inet_num)
-           ? @cast(sock, "inet_sock")->inet_num # kernel >= 2.6.33
-           : (@defined(@cast(sock, "inet_sock")->num)
-              ? @cast(sock, "inet_sock", "kernel")->num # kernel >= 2.6.11
-              : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->num))
+    return @choose_defined(@cast(sock, "inet_sock")->inet_num, # kernel >= 2.6.33
+            @choose_defined(@cast(sock, "inet_sock")->num, # kernel >= 2.6.11
+                @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->num))
 }
 
 /**
index 40bfd1a82dc4c380286985757cd54fdd0f747597..2d1577fe25165259989f772f1531689c6403026e 100644 (file)
@@ -109,8 +109,7 @@ probe ioblock.request = kernel.function ("generic_make_request")
         vcnt = $bio->bi_vcnt
         idx = $bio->bi_idx
         phys_segments = $bio->bi_phys_segments
-       hw_segments = (@defined($bio->bi_hw_segments)
-                      ? $bio->bi_hw_segments : 0)
+       hw_segments = @choose_defined($bio->bi_hw_segments, 0)
         size = $bio->bi_size
 
         bdev = $bio->bi_bdev
@@ -152,7 +151,7 @@ probe ioblock.end = kernel.function("bio_endio")
         devname = __bio_devname($bio)
         ino = __bio_ino($bio)
 
-        bytes_done = (@defined($bytes_done) ? $bytes_done : $bio->bi_size)
+        bytes_done = @choose_defined($bytes_done, $bio->bi_size)
         error = $error
 
         sector = $bio->bi_sector
@@ -161,8 +160,7 @@ probe ioblock.end = kernel.function("bio_endio")
         vcnt = $bio->bi_vcnt
         idx = $bio->bi_idx
         phys_segments = $bio->bi_phys_segments
-       hw_segments = (@defined($bio->bi_hw_segments)
-                      ? $bio->bi_hw_segments : 0)
+       hw_segments = @choose_defined($bio->bi_hw_segments, 0)
         size = $bio->bi_size
 }
 
index e90bf7aee1b787035b45eed18eba3ba2fb03ca17..842e27e6a2414a4a5e91c1b70f5714a096e5558c 100644 (file)
@@ -23,11 +23,10 @@ probe ioscheduler.elv_next_request = kernel.function("blk_peek_request") !,
                                     kernel.function("elv_next_request")
 {
        name = "elv_next_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
 }
 
 /**
@@ -50,8 +49,7 @@ probe ioscheduler.elv_next_request.return =
                disk_minor = -1
        } else {
                rq = $return
-               rq_flags = (@defined($return->cmd_flags) ? $return->cmd_flags
-                       : $return->flags)
+               rq_flags = @choose_defined($return->cmd_flags, $return->flags)
                if ($return->rq_disk == 0)  {
                        disk_major = -1
                        disk_minor = -1
@@ -75,11 +73,10 @@ probe ioscheduler.elv_completed_request
        = kernel.function("elv_completed_request")
 {
        name = "elv_completed_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        if($rq == 0)  {
                disk_major = -1
                disk_minor = -1
@@ -95,7 +92,7 @@ probe ioscheduler.elv_completed_request
 
        rq = $rq
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -114,11 +111,10 @@ probe ioscheduler.elv_add_request.kp =
                kernel.function("__elv_add_request")
 {
        name = "elv_add_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        q = $q
        if($rq == 0)  {
                disk_major = -1
@@ -135,7 +131,7 @@ probe ioscheduler.elv_add_request.kp =
 
        rq = $rq
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -153,11 +149,10 @@ probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert") ?
 {
        name = "elv_add_request"
        q =  $q
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        rq = $rq
 
        if ($rq == 0 || $rq->rq_disk ==0) {
@@ -170,7 +165,7 @@ probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert") ?
        }
 
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -202,11 +197,10 @@ probe ioscheduler_trace.elv_completed_request
                        = kernel.trace("block_rq_complete") ?
 {
        name = "elv_completed_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        rq = $rq
 
        if ($rq == 0 || $rq->rq_disk ==0) {
@@ -219,7 +213,7 @@ probe ioscheduler_trace.elv_completed_request
        }
 
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -237,11 +231,10 @@ probe ioscheduler_trace.elv_issue_request
                        = kernel.trace("block_rq_issue") ?
 {
        name = "elv_issue_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        rq = $rq
 
        if ($rq == 0 || $rq->rq_disk ==0) {
@@ -254,7 +247,7 @@ probe ioscheduler_trace.elv_issue_request
        }
 
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -272,11 +265,10 @@ probe ioscheduler_trace.elv_requeue_request
                        = kernel.trace("block_rq_requeue") ?
 {
        name = "elv_requeue_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        rq = $rq
 
        if ($rq == 0 || $rq->rq_disk ==0) {
@@ -289,7 +281,7 @@ probe ioscheduler_trace.elv_requeue_request
        }
 
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
@@ -306,11 +298,10 @@ probe ioscheduler_trace.elv_abort_request
                        = kernel.trace("block_rq_abort") ?
 {
        name = "elv_abort_request"
-       elevator_name = kernel_string(@defined($q->elevator->type)
-               ? $q->elevator->type->elevator_name 
-               : (@defined($q->elevator->elevator_type)
-                  ? $q->elevator->elevator_type->elevator_name
-                  : $q->elevator->elevator_name))
+       elevator_name = kernel_string(
+               @choose_defined($q->elevator->type->elevator_name,
+                       @choose_defined($q->elevator->elevator_type->elevator_name,
+                               $q->elevator->elevator_name)))
        rq = $rq
 
        if ($rq == 0 || $rq->rq_disk ==0) {
@@ -323,7 +314,7 @@ probe ioscheduler_trace.elv_abort_request
        }
 
        rq_flags = ($rq == 0) ? 0
-               : (@defined($rq->cmd_flags) ? $rq->cmd_flags : $rq->flags)
+               : @choose_defined($rq->cmd_flags, $rq->flags)
 }
 
 /**
index 133790e91dca4c3801f8805a8d87972c08fcf41c..b1eea666d45a66abf875fce27c5a0fd4b7b3b637 100644 (file)
@@ -84,12 +84,9 @@ function __ip_sock_saddr:long (sock:long)
 {
     family = @cast(sock, "inet_sock", "kernel<net/ip.h>")->sk->__sk_common->skc_family
     if (family == %{ /* pure */ /* unprivileged */ AF_INET %}) {
-       return (@defined(@cast(sock, "inet_sock")->inet_saddr)
-               ? @cast(sock, "inet_sock")->inet_saddr # kernel >= 2.6.33
-               : (@defined(@cast(sock, "inet_sock")->saddr)
-                 ? # kernel >= 2.6.11
-                   @cast(sock, "inet_sock", "kernel")->saddr
-                 : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->saddr))
+       return @choose_defined(@cast(sock, "inet_sock")->inet_saddr, # kernel >= 2.6.33
+               @choose_defined(@cast(sock, "inet_sock")->saddr, # kernel >= 2.6.11
+                   @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->saddr))
     }
 %( CONFIG_IPV6 == "[ym]" %?
     else if (family == %{ /* pure */ /* unprivileged */ AF_INET6 %}) {
@@ -104,15 +101,10 @@ function __ip_sock_daddr:long (sock:long)
 {
     family = @cast(sock, "inet_sock", "kernel<net/ip.h>")->sk->__sk_common->skc_family
     if (family == %{ /* pure */ /* unprivileged */ AF_INET %}) {
-       return (@defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr)
-               ? # kernel >= 2.6.38
-                 @cast(sock, "inet_sock")->sk->__sk_common->skc_daddr
-               : (@defined(@cast(sock, "inet_sock")->inet_daddr)
-                 ? @cast(sock, "inet_sock")->inet_daddr # kernel >= 2.6.33
-                 : (@defined(@cast(sock, "inet_sock")->daddr)
-                   ? # kernel >= 2.6.11
-                     @cast(sock, "inet_sock", "kernel")->daddr
-                   : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->daddr)))
+       return @choose_defined(@cast(sock, "inet_sock")->sk->__sk_common->skc_daddr, # kernel >= 2.6.38
+               @choose_defined(@cast(sock, "inet_sock")->inet_daddr, # kernel >= 2.6.33
+                   @choose_defined(@cast(sock, "inet_sock")->daddr, # kernel >= 2.6.11
+                       @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->daddr)))
     }
 %( CONFIG_IPV6 == "[ym]" %?
     else if (family == %{ /* pure */ /* unprivileged */ AF_INET6 %}) {
index 1ccb3bfd081456b9a31f8544b9c88c2f70ee57b7..7de3ef1fd23c1555533c827a60cbef7fd8eaf809 100644 (file)
@@ -335,7 +335,7 @@ probe ipmib.ForwDatagrams=kernel.function("ip_forward_finish")
 probe ipmib.OutRequests=kernel.function("ip_output"),
                        kernel.function("ip_mc_output")
 {
-       skb = @defined($skb) ? $skb : kernel_pointer($pskb);
+       skb = @choose_defined($skb, kernel_pointer($pskb));
        op = 1;
        SourceIsLocal = 1;
        key = ipmib_filter_key(skb,op,SourceIsLocal);
@@ -429,20 +429,14 @@ function _rtn_unspec:long ()
 
 function _input_route_type:long (skb:long)
 {
-       rt = (@defined(@cast(skb, "sk_buff")->_skb_dst)
-             ? @cast(skb, "sk_buff")->_skb_dst
-             : (@defined(@cast(skb, "sk_buff")->rtable)
-                ? @cast(skb, "sk_buff")->rtable
-                : 0))
+       rt = @choose_defined(@cast(skb, "sk_buff")->_skb_dst,
+               @choose_defined(@cast(skb, "sk_buff")->rtable, 0))
        return rt ? @cast(rt, "rtable")->rt_type : _rtn_unspec()
 }
 
 function _output_route_type:long (skb:long)
 {
-       rt = (@defined(@cast(skb, "sk_buff")->_skb_dst)
-             ? @cast(skb, "sk_buff")->_skb_dst
-             : (@defined(@cast(skb, "sk_buff")->dst)
-                ? @cast(skb, "sk_buff")->dst
-                : 0))
+       rt = @choose_defined(@cast(skb, "sk_buff")->_skb_dst,
+               @choose_defined(@cast(skb, "sk_buff")->dst, 0))
        return rt ? @cast(rt, "rtable")->rt_type : _rtn_unspec()
 }
index 3f13cf4063faea227c3be8f8893608fa7f8d670f..984325328f7c545c8aa84d3b61b63bb5c9326a98 100644 (file)
@@ -136,11 +136,11 @@ probe softirq.entry = kernel.trace("irq_softirq_entry") !,
                      kernel.trace("softirq_entry") ?
 {
        # kernels < 2.6.37
-       h = (@defined($h) ? $h : 0)
-       vec = (@defined($vec) ? $vec : 0)
+       h = @choose_defined($h, 0)
+       vec = @choose_defined($vec, 0)
        action = (@defined($h) ? @cast($h,"softirq_action","kernel<linux/interrupt.h>")->action : 0)
        # kernels >= 2.6.37
-       vec_nr = (@defined($vec_nr) ? $vec_nr : 0)
+       vec_nr = @choose_defined($vec_nr, 0)
 }
 
 /**
@@ -154,9 +154,9 @@ probe softirq.exit = kernel.trace("irq_softirq_exit") !,
                     kernel.trace("softirq_exit") ?
 {
        # kernels < 2.6.37
-       h = (@defined($h) ? $h : 0)
-       vec = (@defined($vec) ? $vec : 0)
+       h = @choose_defined($h, 0)
+       vec = @choose_defined($vec, 0)
        action = (@defined($h) ? @cast($h,"softirq_action","kernel<linux/interrupt.h>")->action : 0)
        # kernels >= 2.6.37
-       vec_nr = (@defined($vec_nr) ? $vec_nr : 0)
+       vec_nr = @choose_defined($vec_nr, 0)
 }
index eabc8e7e8b826c6ef762fe7efd7045a0e685fb14..8f87da3bdd2ad0a62e5b199fdff7a5d1b8729ce7 100644 (file)
@@ -102,7 +102,7 @@ probe linuxmib.ListenDrops=kernel.function("tcp_v4_syn_recv_sock").return
  */
 probe linuxmib.TCPMemoryPressures=kernel.function("tcp_enter_memory_pressure")
 {
-       sk = (@defined($sk) ? $sk : 0)
+       sk = @choose_defined($sk, 0)
        op = 1;
        if ( $tcp_memory_pressure ) next
        key = linuxmib_filter_key(sk,op);
index 8254300791c101eafd694fa5350fcf0ac75e549b..ad878da646281565461444c6489c324980ba05eb 100644 (file)
@@ -519,8 +519,8 @@ probe __vm.kmalloc_node.kp = kernel.function("kmalloc_node").return ?
        # '$size' argument above).  Note that we can see the '$flags'
        # argument on x86_64 f11 (2.6.29.4-167.fc11.x86_64).  So, the
        # best we can do here is just use 0 when $flags isn't defined.
-       gfp_flags = (@defined($flags) ? $flags : 0)
-       gfp_flag_name = __gfp_flag_str(@defined($flags) ? $flags : 0)
+       gfp_flags = @choose_defined($flags, 0)
+       gfp_flag_name = __gfp_flag_str(@choose_defined($flags, 0))
 
        ptr = $return
 }
@@ -610,7 +610,7 @@ probe __vm.kfree.kp = kernel.function("kfree").return
 {
        call_site = 0
        caller_function = "unknown"
-       ptr = (@defined($x) ? $x : $objp)
+       ptr = @choose_defined($x, $objp)
 }
 
 /**
@@ -636,7 +636,7 @@ probe __vm.kmem_cache_free.kp = kernel.function("kmem_cache_free").return
 {
        call_site = 0
        caller_function = "unknown"
-       ptr = (@defined($x) ? $x : $objp)
+       ptr = @choose_defined($x, $objp)
 }
 
 /**
index cf78586eeba8cf92651f6aa23bb9b36e86ec5735..27f4c62aed7d91cbab00a953ff1af459dc298680 100644 (file)
@@ -157,7 +157,7 @@ probe netdev.change_rx_flag
        = kernel.function("dev_change_rx_flags") ?
 {
        dev_name = (@defined($dev) ? get_netdev_name($dev) : "unknown")
-       flags = (@defined($flags) ? $flags : 0)
+       flags = @choose_defined($flags, 0)
 }
 
 /**
index 87a25f8c938c421c74af70e3b08b62988a86239b..f6ca2d71ef3f16711f580d4e8d4b16168f5e5f4f 100644 (file)
@@ -43,9 +43,7 @@ function __nfsi_ndirty:long (inode:long)
 {
     if (inode == 0)    
         return -1
-    return (@defined(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty)
-           ? @cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty
-           : -1)
+    return @choose_defined(@cast(NFS_I(inode), "nfs_inode", "kernel:nfs")->ndirty, -1)
 }
 
 /* Get rsize from struct inode */
@@ -137,9 +135,8 @@ function __p2sb_flag:long (page:long)
 function __file_inode:long (file:long)
 {
     dentry = file
-       ? (@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry)
-          ? @cast(file, "file", "kernel:nfs")->f_path->dentry
-          : @cast(file, "file", "kernel:nfs")->f_dentry)
+       ? @choose_defined(@cast(file, "file", "kernel:nfs")->f_path->dentry,
+               @cast(file, "file", "kernel:nfs")->f_dentry)
        : 0
     if (dentry == 0)
         return 0
@@ -165,9 +162,8 @@ function __file_mode:long (file:long)
 function __file_parentname:string (file:long)
 {
     dentry = file
-       ? (@defined(@cast(file, "file", "kernel:nfs")->f_path->dentry)
-          ? @cast(file, "file", "kernel:nfs")->f_path->dentry
-          : @cast(file, "file", "kernel:nfs")->f_dentry)
+       ? @choose_defined(@cast(file, "file", "kernel:nfs")->f_path->dentry,
+               @cast(file, "file", "kernel:nfs")->f_dentry)
        : 0
     d_parent = dentry? @cast(dentry, "dentry", "kernel:nfs")->d_parent : 0
     if (d_parent == 0)
index b84509265f87435259bbca117e429342eff25521..19078b14fd58db85ebb14bbfd5fb4f4429678bfa 100644 (file)
@@ -59,9 +59,8 @@ function stap_NFS_CLIENT:long(inode:long)
 function NFS_PROTO:long(inode:long)
 {
     nfsserver = NFS_SERVER(inode)
-    return (@defined(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client)
-           ? @cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops
-           : @cast(nfsserver, "nfs_server", "kernel:nfs")->rpc_ops)
+    return @choose_defined(@cast(nfsserver, "nfs_server", "kernel:nfs")->nfs_client->rpc_ops,
+           @cast(nfsserver, "nfs_server", "kernel:nfs")->rpc_ops)
 }
 
 
@@ -929,7 +928,7 @@ probe nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup") !,
 
         count = $data->args->count
         offset = $data->args->offset
-       how = (@defined($how) ? $how : $data->args->stable)
+       how = @choose_defined($how, $data->args->stable)
         bitmask0 = 0
         bitmask1 = 0
 
@@ -958,7 +957,7 @@ probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup") !,
 
         count = $data->args->count
         offset = $data->args->offset
-       how = (@defined($how) ? $how : $data->args->stable)
+       how = @choose_defined($how, $data->args->stable)
         bitmask0 = 0
         bitmask1 = 0
 
@@ -986,7 +985,7 @@ probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup") !,
 
         count = $data->args->count
         offset = $data->args->offset
-       how = (@defined($how) ? $how : $data->args->stable)
+       how = @choose_defined($how, $data->args->stable)
         bitmask0 = __nfsv4_bitmask($data->inode,0)
         bitmask1 = __nfsv4_bitmask($data->inode,1)
        //timestamp = $jiffies
index 3db2d70cff7371185617575c6b95d0a0e9dceafc..579139ab5c8f794b0f481ba3b3e870eb6e8242d5 100644 (file)
@@ -348,7 +348,7 @@ probe nfsd.proc2.read = kernel.function("nfsd_proc_read") !,
 
        count = $argp->count 
        offset = $argp->offset 
-       vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+       vec = @choose_defined($rqstp->rq_vec, $argp->vec)
        vlen = $argp->vlen
 
        name = "nfsd.proc2.read"
@@ -379,7 +379,7 @@ probe nfsd.proc3.read = kernel.function("nfsd3_proc_read") !,
 
        count = $argp->count 
        offset = $argp->offset 
-       vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+       vec = @choose_defined($rqstp->rq_vec, $argp->vec)
        vlen = $argp->vlen
 
        name = "nfsd.proc3.read"
@@ -466,7 +466,7 @@ probe nfsd.proc2.write = kernel.function("nfsd_proc_write") !,
 
        count = $argp->len
        offset = $argp->offset 
-       vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+       vec = @choose_defined($rqstp->rq_vec, $argp->vec)
        vlen = $argp->vlen
        stable = 1                      # hardcoded in nfsd_proc_write()
 
@@ -500,7 +500,7 @@ probe nfsd.proc3.write = kernel.function("nfsd3_proc_write") !,
 
        count = $argp->count 
        offset = $argp->offset 
-       vec = (@defined($rqstp->rq_vec) ? $rqstp->rq_vec : $argp->vec)
+       vec = @choose_defined($rqstp->rq_vec, $argp->vec)
        vlen = $argp->vlen
        stable = $argp->stable
 
@@ -996,7 +996,7 @@ probe nfsd.open = kernel.function("nfsd_open") !,
        client_ip = addr_from_rqst_str($rqstp)
        fh = __svc_fh($fhp)
 
-       access = (@defined($access) ? $access : $may_flags)
+       access = @choose_defined($access, $may_flags)
        type = $type
 
        name = "nfsd.open"
@@ -1053,7 +1053,7 @@ probe nfsd.read = kernel.function("nfsd_read") !,
        client_ip = addr_from_rqst_str($rqstp)
        fh = __svc_fh($fhp)
 
-       file = (@defined($file) ? $file : 0)
+       file = @choose_defined($file, 0)
        count = kernel_long($count)
        offset = $offset
        vec = $vec
@@ -1094,7 +1094,7 @@ probe nfsd.write = kernel.function("nfsd_write") !,
        client_ip = addr_from_rqst_str($rqstp)
        fh = __svc_fh($fhp)
 
-       file = (@defined($file) ? $file : 0)
+       file = @choose_defined($file, 0)
 %( kernel_v >= "2.6.30" %?
        count = kernel_long($cnt)
 %:
index d29b7bf8f64199ebb58340e9f2ced6d80826bc54..1aff639d305b49c6098c7e265ccacf283e8c7c8e 100644 (file)
@@ -172,8 +172,7 @@ probe _sunrpc.clnt.create_client.rpc_new_client_inline =
                authflavor = $args->authflavor
 
                prot = $xprt->prot
-               port = (@defined($xprt->port)
-                       ? $xprt->port : port_from_xprt($xprt))
+               port = @choose_defined($xprt->port, port_from_xprt($xprt))
        }
        else {                          # kernel > 2.6.18 (with bad debuginfo)
 %(systemtap_v <= "1.7" %?
@@ -204,8 +203,7 @@ probe _sunrpc.clnt.create_client.rpc_new_client =
        authflavor = $flavor
 
        prot = $xprt->prot
-       port = (@defined($xprt->port)
-               ? $xprt->port : port_from_xprt($xprt))
+       port = @choose_defined($xprt->port, port_from_xprt($xprt))
 }
 
 probe _sunrpc.clnt.create_client.rpc_create_client =
@@ -227,8 +225,7 @@ probe _sunrpc.clnt.create_client.rpc_create_client =
        }
 
        prot = $xprt->prot
-       port = (@defined($xprt->port)
-               ? $xprt->port : port_from_xprt($xprt))
+       port = @choose_defined($xprt->port, port_from_xprt($xprt))
 }
 
 /*
@@ -441,16 +438,12 @@ probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync") !,
        prot = prot_from_clnt($clnt)
        port = port_from_clnt($clnt)
        xid  = xid_from_clnt($clnt)
-       dead = (@defined($clnt->cl_dead) ? $clnt->cl_dead
-               : (@defined(&$clnt->cl_kref->refcount)
-                  ? (atomic_read(&$clnt->cl_kref->refcount) == 0)
-                  : (atomic_read(&$clnt->cl_count) == 0)))
+       dead = @choose_defined($clnt->cl_dead,
+               atomic_read(@choose_defined(&$clnt->cl_kref->refcount,
+                                           &$clnt->cl_count)) == 0)
 
        proc = proc_from_msg($msg)
-       procname = (@defined($msg->rpc_proc->p_name)
-                   ? ($msg->rpc_proc->p_name
-                      ? kernel_string($msg->rpc_proc->p_name) : "NULL")
-                   : "NULL")
+       procname = kernel_string2(@choose_defined($msg->rpc_proc->p_name, 0), "NULL")
        flags = $flags
        
        name = "sunrpc.clnt.call_sync"
@@ -490,16 +483,12 @@ probe sunrpc.clnt.call_async = kernel.function("rpc_call_async") !,
        prot = prot_from_clnt($clnt)
        port = port_from_clnt($clnt)
        xid  = xid_from_clnt($clnt)
-       dead = (@defined($clnt->cl_dead) ? $clnt->cl_dead
-               : (@defined(&$clnt->cl_kref->refcount)
-                  ? (atomic_read(&$clnt->cl_kref->refcount) == 0)
-                  : (atomic_read(&$clnt->cl_count) == 0)))
+       dead = @choose_defined($clnt->cl_dead,
+               atomic_read(@choose_defined(&$clnt->cl_kref->refcount,
+                                           &$clnt->cl_count)) == 0)
 
        proc = proc_from_msg($msg)
-       procname = (@defined($msg->rpc_proc->p_name)
-                   ? ($msg->rpc_proc->p_name
-                      ? kernel_string($msg->rpc_proc->p_name) : "NULL")
-                   : "NULL")
+       procname = kernel_string2(@choose_defined($msg->rpc_proc->p_name, 0), "NULL")
        flags = $flags
        
        name = "sunrpc.clnt.call_async"
@@ -1043,20 +1032,16 @@ function prog_from_clnt:long(clnt:long)
 {
        if (clnt == 0)
                return 0
-       if (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog))
-               return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog
-       else
-               return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_prog
+       return @choose_defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_prog,
+               @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_prog)
 }
 
 function vers_from_clnt:long(clnt:long)
 {
        if (clnt == 0)
                return 0
-       if (@defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers))
-               return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers
-       else
-               return @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_vers
+       return @choose_defined(@cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_vers,
+               @cast(clnt, "rpc_clnt", "kernel:sunrpc")->cl_pmap->pm_vers)
 }
 
 function prot_from_clnt:long(clnt:long)
index afce4eea7b9a9a8ba8ad2273c3b3014e2c250500..7596a46708abe4225f5c79e5babb93b1a1262d93 100644 (file)
@@ -297,8 +297,8 @@ probe __scheduler.migrate.kp =
        kernel.function("set_task_cpu") !,
        kernel.function("pull_task") ?
 {
-       cpu_to = (@defined($new_cpu) ? $new_cpu
-                 : @defined($cpu) ? $cpu : $this_cpu)
+       cpu_to = @choose_defined($new_cpu,
+                @choose_defined($cpu, $this_cpu))
 }
 probe __scheduler.migrate.tp = kernel.trace("sched_migrate_task")
 {
index dafb70feb177927d4d2b7fde92f8102fb046b676..b8f0c2cc270bf9432567ad18eebfaa303bfad69d 100644 (file)
@@ -64,7 +64,7 @@ probe scsi.ioentry.sr =
 
 probe scsi.ioentry = scsi.ioentry.* ?
 {
-        req_addr = @defined($req) ? $req : $rq;
+        req_addr = @choose_defined($req, $rq);
        if(@cast(req_addr,"request")->rq_disk == 0)  {
                disk_major = -1
                disk_minor = -1
@@ -104,10 +104,10 @@ probe scsi.iodispatching
        device_state_str = describe_device_state(device_state)
        data_direction = $cmd->sc_data_direction
        data_direction_str = describe_data_direction(data_direction)
-       request_buffer = (@defined($cmd->sdb->table->sgl)
-           ? $cmd->sdb->table->sgl : $cmd->request_buffer)
-       request_bufflen = (@defined($cmd->sdb->length)
-           ? $cmd->sdb->length : $cmd->request_bufflen)
+       request_buffer = @choose_defined($cmd->sdb->table->sgl,
+                                        $cmd->request_buffer)
+       request_bufflen = @choose_defined($cmd->sdb->length,
+                                         $cmd->request_bufflen)
        req_addr = $cmd->request
 }
 
@@ -175,9 +175,8 @@ probe scsi.iocompleted
 
 function timer_pending:long(timer:long)
 {
-       return (@defined(@cast(timer, "timer_list")->entry->next)
-               ? (@cast(timer, "timer_list")->entry->next != 0)
-               : (@cast(timer, "timer_list")->base != 0))
+       return (@choose_defined(@cast(timer, "timer_list")->entry->next,
+                               @cast(timer, "timer_list")->base) != 0)
 }
 
 function scsi_timer_pending:long(cmd:long)
index e9a5b94fc08985f4399540e866ff08fa61247056..f0cfbbc4454126009d7579179128b622678bdc5b 100644 (file)
@@ -60,9 +60,9 @@ probe signal.send = __signal.send.send_sigqueue,
 probe __signal.send.send_sigqueue = kernel.function("send_sigqueue")
 {
     name = "send_sigqueue"
-    task = (@defined($t) ? $t : $p)
-    sig = (@defined($q->info->si_signo) ? $q->info->si_signo : $sig)
-    sinfo = (@defined($q->info) ? $q->info : 0)
+    task = @choose_defined($t, $p)
+    sig = @choose_defined($q->info->si_signo, $sig)
+    sinfo = @choose_defined($q->info, 0)
     shared = 0
     send2queue = 1
 }
@@ -609,7 +609,7 @@ probe signal.handle = kernel.function("handle_rt_signal64") ?,
     sinfo = $info
     sig_code = $info->si_code
     ka_addr = $ka
-    oldset_addr = (@defined($oldset) ? $oldset : $set)
+    oldset_addr = @choose_defined($oldset, $set)
     regs = $regs
 
     // Check whether the signal is a User Mode or Kernel mode Signal.
index 080f9559ca7d7425bc5ef0934afec38232826b52..fa0b18d63bfda39cabb185a4e4b43fdbb60580a1 100644 (file)
@@ -208,7 +208,7 @@ probe socket.aio_write = kernel.function ("sock_aio_write")
        name = "socket.aio_write"
        _sock = _get_sock_addr ($iocb->ki_filp)
        size = (@defined($iov) ? _get_sock_size ($iov, $nr_segs)
-               : @defined($count) ?$count : $size)
+               : @choose_defined($count, $size))
        protocol = _sock_prot_num (_sock)
        family = _sock_fam_num (_sock)
        state = _sock_state_num (_sock)
@@ -275,7 +275,7 @@ probe socket.aio_read = kernel.function ("sock_aio_read")
        name = "socket.aio_read"
        _sock = _get_sock_addr ($iocb->ki_filp)
        size = (@defined($iov) ? _get_sock_size ($iov, $nr_segs)
-               : @defined($count) ?$count : $size)
+               : @choose_defined($count, $size))
        protocol = _sock_prot_num (_sock)
        family = _sock_fam_num (_sock)
        state = _sock_state_num (_sock)
index 37f8629ad95499aa8f8e27adad37582abfc939a1..121097c2102f2dfd576716ef8aaf5e3ea9f8eb39 100644 (file)
@@ -557,7 +557,7 @@ probe syscall.dup2 = kernel.function("sys_dup3").call !,
 {
        oldfd = $oldfd
        newfd = $newfd
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
 
        # Corner case handled by dup2
        if ($oldfd == $newfd && flags == 0) next
@@ -574,7 +574,7 @@ probe syscall.dup2 = kernel.function("sys_dup3").call !,
 probe syscall.dup2.return = kernel.function("sys_dup3").return !,
                             kernel.function("sys_dup2").return
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
 
        # Corner case handled by dup2
        if ($oldfd == $newfd && flags == 0) next
@@ -589,8 +589,8 @@ probe syscall.dup2.return = kernel.function("sys_dup3").return !,
 probe syscall.epoll_create = kernel.function("sys_epoll_create1").call !,
                              kernel.function("sys_epoll_create").call ?
 {
-       size = @defined($size) ? $size : 0;
-       flags = @defined($flags) ? $flags : 0;
+       size = @choose_defined($size, 0);
+       flags = @choose_defined($flags, 0);
        if (flags == 0) {
                name = "epoll_create";
                argstr = sprint(size);
@@ -602,7 +602,7 @@ probe syscall.epoll_create = kernel.function("sys_epoll_create1").call !,
 probe syscall.epoll_create.return = kernel.function("sys_epoll_create1").return !,
                                     kernel.function("sys_epoll_create").return ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        name = (flags == 0) ? "epoll_create" : "epoll_create1";
        retstr = return_str(1, $return)
 }
@@ -687,7 +687,7 @@ probe syscall.epoll_wait.return = kernel.function("compat_sys_epoll_wait").retur
 probe syscall.eventfd = kernel.function("sys_eventfd2").call !,
                         kernel.function("sys_eventfd").call ?
 {
-       flags = @defined($flags) ? $flags : 0
+       flags = @choose_defined($flags, 0)
        if (flags == 0) {
                name = "eventfd"
                argstr = sprint($count)
@@ -699,7 +699,7 @@ probe syscall.eventfd = kernel.function("sys_eventfd2").call !,
 probe syscall.eventfd.return = kernel.function("sys_eventfd2").return !,
                                kernel.function("sys_eventfd").return ?
 {
-       flags = @defined($flags) ? $flags : 0
+       flags = @choose_defined($flags, 0)
        name = flags == 0 ? "eventfd" : "eventfd2"
        retstr = return_str(1, $return)
 }
@@ -716,7 +716,7 @@ probe syscall.execve = kernel.function("do_execve").call
        name = "execve"
        filename = kernel_string($filename)
        # kernel 3.0 changed the pointer's name to __argv
-       __argv = @defined($__argv) ? $__argv : $argv
+       __argv = @choose_defined($__argv, $argv)
        args = __get_argv(__argv, 0)
        argstr = sprintf("%s %s", filename, __get_argv(__argv, 1))
 }
@@ -736,7 +736,7 @@ probe syscall.compat_execve = kernel.function("compat_do_execve").call ?
        name = "compat_execve"
        filename = kernel_string($filename)
        # kernel 3.0 changed the pointer's name to __argv
-       __argv = @defined($__argv) ? $__argv : $argv
+       __argv = @choose_defined($__argv, $argv)
        args = __get_compat_argv(__argv, 0)
        argstr = sprintf("%s %s", filename, __get_compat_argv(__argv, 1))
 }
@@ -794,10 +794,10 @@ probe syscall.faccessat.return = kernel.function("sys_faccessat").return ?
 probe syscall.fadvise64 = kernel.function("sys_fadvise64").call ?
 {
        name = "fadvise64"
-       fd = (@defined($fd) ? $fd : 0)
-       offset = (@defined($offset) ? $offset : 0)
-       len = (@defined($len) ? $len : 0)
-       advice = (@defined($advice) ? $advice : 0)
+       fd = @choose_defined($fd, 0)
+       offset = @choose_defined($offset, 0)
+       len = @choose_defined($len, 0)
+       advice = @choose_defined($advice, 0)
        argstr = sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice))
 }
 probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return ?
@@ -812,10 +812,10 @@ probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return ?
 probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64").call ?
 {
        name = "fadvise64_64"
-       fd = (@defined($fd) ? $fd : 0)
-       offset = (@defined($offset) ? $offset : 0)
-       len = (@defined($len) ? $len : 0)
-       advice = (@defined($advice) ? $advice : 0)
+       fd = @choose_defined($fd, 0)
+       offset = @choose_defined($offset, 0)
+       len = @choose_defined($len, 0)
+       advice = @choose_defined($advice, 0)
        argstr = sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice))
 }
 probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return ?
@@ -1620,12 +1620,12 @@ probe syscall.getresgid = kernel.function("sys_getresgid16").call ?,
                           kernel.function("sys_getresgid").call
 {
        name = "getresgid"
-       rgid_uaddr = @defined($rgidp) ? $rgidp : $rgid
-       egid_uaddr = @defined($egidp) ? $egidp : $egid
-       sgid_uaddr = @defined($sgidp) ? $sgidp : $sgid
-       argstr = sprintf("%p, %p, %p", (@defined($rgidp) ? $rgidp : $rgid),
-                        (@defined($egidp) ? $egidp : $egid),
-                        (@defined($sgidp) ? $sgidp : $sgid))
+       rgid_uaddr = @choose_defined($rgidp, $rgid)
+       egid_uaddr = @choose_defined($egidp, $egid)
+       sgid_uaddr = @choose_defined($sgidp, $sgid)
+       argstr = sprintf("%p, %p, %p", @choose_defined($rgidp, $rgid),
+                        @choose_defined($egidp, $egid),
+                        @choose_defined($sgidp, $sgid))
 }
 probe syscall.getresgid.return = kernel.function("sys_getresgid16").return ?,
                                  kernel.function("sys_getresgid").return
@@ -1642,12 +1642,12 @@ probe syscall.getresuid = kernel.function("sys_getresuid16").call ?,
                           kernel.function("sys_getresuid").call
 {
        name = "getresuid"
-       ruid_uaddr = @defined($ruidp) ? $ruidp : $ruid
-       euid_uaddr = @defined($euidp) ? $euidp : $euid
-       suid_uaddr = @defined($suidp) ? $suidp : $suid
-       argstr = sprintf("%p, %p, %p", (@defined($ruidp) ? $ruidp : $ruid),
-                        (@defined($euidp) ? $euidp : $euid),
-                        (@defined($suidp) ? $suidp : $suid))
+       ruid_uaddr = @choose_defined($ruidp, $ruid)
+       euid_uaddr = @choose_defined($euidp, $euid)
+       suid_uaddr = @choose_defined($suidp, $suid)
+       argstr = sprintf("%p, %p, %p", @choose_defined($ruidp, $ruid),
+                        @choose_defined($euidp, $euid),
+                        @choose_defined($suidp, $suid))
 }
 probe syscall.getresuid.return = kernel.function("sys_getresuid16").return ?,
                                  kernel.function("sys_getresuid").return
@@ -1821,7 +1821,7 @@ probe syscall.getuid.return = kernel.function("sys_getuid16").return ?,
 probe syscall.getxattr = kernel.function("sys_getxattr").call
 {
        name = "getxattr"
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
 # 'name2' should have been 'name_str'.  Deprecate the old name.
 %(systemtap_v <= "1.4" %?
        name2 = user_string($name)
@@ -1830,7 +1830,7 @@ probe syscall.getxattr = kernel.function("sys_getxattr").call
        value_uaddr = $value
        size = $size
        argstr = sprintf("%s, %s, %p, %d",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                user_string_quoted($name),
                $value, $size)
 }
@@ -1868,10 +1868,10 @@ probe syscall.inotify_add_watch = kernel.function("sys_inotify_add_watch").call
        name = "inotify_add_watch"
        fd = $fd
        mask = $mask
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%d, %s, %s", $fd,
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                _inotify_watch_mask_str($mask))
 }
 
@@ -1888,7 +1888,7 @@ probe syscall.inotify_add_watch.return = kernel.function("sys_inotify_add_watch"
 probe syscall.inotify_init = kernel.function("sys_inotify_init1").call !,
                              kernel.function("sys_inotify_init").call ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        if (flags == 0) {
                name = "inotify_init"
                argstr = ""
@@ -1900,7 +1900,7 @@ probe syscall.inotify_init = kernel.function("sys_inotify_init1").call !,
 probe syscall.inotify_init.return = kernel.function("sys_inotify_init1").return !,
                                     kernel.function("sys_inotify_init").return ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        name = (flags == 0) ? "inotify_init" : "inotify_init1"
        retstr = return_str(1, $return)
 }
@@ -2228,7 +2228,7 @@ probe syscall.lchown16.return = kernel.function("sys_lchown16").return ?
 probe syscall.lgetxattr = kernel.function("sys_lgetxattr").call
 {
        name = "lgetxattr"
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
 # 'name2' should have been 'name_str'.  Deprecate the old name.
 %(systemtap_v <= "1.4" %?
        name2 = user_string($name)
@@ -2237,7 +2237,7 @@ probe syscall.lgetxattr = kernel.function("sys_lgetxattr").call
        value_uaddr = $value
        size = $size
        argstr = sprintf("%s, %s, %p, %d",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                user_string_quoted($name),
                value_uaddr, size)
 }
@@ -2314,10 +2314,10 @@ probe syscall.listxattr = kernel.function("sys_listxattr").call
        name = "listxattr"
        list_uaddr = $list
        size = $size
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %p, %d",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                $list, $size)
 }
 probe syscall.listxattr.return = kernel.function("sys_listxattr").return
@@ -2334,10 +2334,10 @@ probe syscall.llistxattr = kernel.function("sys_llistxattr").call
        name = "llistxattr"
        list_uaddr = $list
        size = $size
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %p, %d",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                $list, $size)
 }
 probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return
@@ -2399,10 +2399,10 @@ probe syscall.lremovexattr = kernel.function("sys_lremovexattr").call
        name2 = user_string($name)
 %)
        name_str = user_string($name)
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %s",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                user_string_quoted($name))
 }
 probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return
@@ -2439,15 +2439,15 @@ probe syscall.lseek.return = kernel.function("sys_lseek").return
 probe syscall.lsetxattr = kernel.function("sys_lsetxattr").call
 {
        name = "lsetxattr"
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        name_uaddr = $name
        name_str = user_string($name)
        value_uaddr = $value
        size = $size
        flags = $flags
        argstr = sprintf("%s, %s, %p, %d, %d",
-                       user_string_quoted(@defined($pathname) ? $pathname : $path),
+                       user_string_quoted(@choose_defined($pathname, $path)),
                        user_string_quoted($name),
                        value_uaddr, $size, $flags)
 }
index 63faae4ee40de5238ec434d4c1ad5fac6151478d..c12adadd20af45aa0203c9feed9a819013dc33ed 100644 (file)
@@ -407,9 +407,9 @@ probe syscall.poll = kernel.function("sys_poll").call
        name = "poll"
        ufds_uaddr = $ufds
        nfds = $nfds
-       timeout = (@defined($timeout_msecs) ? $timeout_msecs : $timeout)
+       timeout = @choose_defined($timeout_msecs, $timeout)
        argstr = sprintf("%p, %d, %d", $ufds, $nfds,
-               (@defined($timeout_msecs) ? $timeout_msecs : $timeout))
+               @choose_defined($timeout_msecs, $timeout))
 }
 probe syscall.poll.return = kernel.function("sys_poll").return
 {
@@ -759,9 +759,9 @@ probe syscall.readlinkat = kernel.function("sys_readlinkat").call ?
        dfd = $dfd
        buf_uaddr = $buf
        bufsiz = $bufsiz
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %s, %p, %d", _dfd_str($dfd),
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                $buf, $bufsiz)
 }
 
@@ -974,7 +974,7 @@ probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages").call ?
        name = "remap_file_pages"
        start = $start
        size = $size
-       prot = (@defined($prot) ? $prot : $__prot)
+       prot = @choose_defined($prot, $__prot)
        pgoff = $pgoff
        flags = $flags
        argstr = sprintf("%p, %p, %p, %p, %p", start, size, prot,
@@ -997,9 +997,9 @@ probe syscall.removexattr = kernel.function("sys_removexattr").call
        name = "removexattr"
        name_str = user_string($name)
 
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %s",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                user_string_quoted($name))
 }
 probe syscall.removexattr.return = kernel.function("sys_removexattr").return
@@ -1188,7 +1188,7 @@ probe syscall.rt_sigprocmask = kernel.function("sys32_rt_sigprocmask").call ?,
        name = "rt_sigprocmask"
        how  = $how
        how_str = _sigprocmask_how_str($how)
-       set_uaddr    = @defined($set) ? $set : $nset
+       set_uaddr    = @choose_defined($set, $nset)
        oldset_uaddr = $oset
        argstr = sprintf("%s, [%s], %p, %d", how_str, _stp_sigset_u(set_uaddr),
                $oset, $sigsetsize)
@@ -1392,7 +1392,7 @@ probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity").call
 {
        name = "sched_setaffinity"
        pid = $pid
-       len = (@defined($len) ? $len : 0)
+       len = @choose_defined($len, 0)
        mask_uaddr = $user_mask_ptr
        argstr = sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr)
 }
@@ -2225,15 +2225,15 @@ probe syscall.setuid.return = kernel.function("sys_setuid16").return ?,
 probe syscall.setxattr = kernel.function("sys_setxattr").call
 {
        name = "setxattr"
-       path_uaddr = (@defined($pathname) ? $pathname : $path)
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path_uaddr = @choose_defined($pathname, $path)
+       path = user_string(@choose_defined($pathname, $path))
        name_uaddr = $name
        name_str = user_string($name)
        value_uaddr = $value
        size = $size
        flags = $flags
        argstr = sprintf("%s, %s, %p, %d, %d",
-                       user_string_quoted(@defined($pathname) ? $pathname : $path),
+                       user_string_quoted(@choose_defined($pathname, $path)),
                        user_string_quoted($name),
                        value_uaddr, $size, $flags)
 }
@@ -2447,7 +2447,7 @@ probe syscall.signal.return = kernel.function("sys_signal").return ?
 probe syscall.signalfd = kernel.function("sys_signalfd4").call !,
                          kernel.function("sys_signalfd").call ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        if (flags == 0) {
                name = "signalfd"
                argstr = sprintf("%d, %p, %d", $ufd, $user_mask, $sizemask)
@@ -2460,14 +2460,14 @@ probe syscall.signalfd = kernel.function("sys_signalfd4").call !,
 probe syscall.signalfd.return = kernel.function("sys_signalfd4").return !,
                                 kernel.function("sys_signalfd").return ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        name = (flags == 0) ? "signalfd" : "signalfd4"
        retstr = return_str(1, $return)
 }
 probe syscall.compat_signalfd = kernel.function("compat_sys_signalfd4").call !,
                                 kernel.function("compat_sys_signalfd").call ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        if (flags == 0) {
                name = "compat_signalfd"
                argstr = sprintf("%d, %p, %d", $ufd, $sigmask, $sigsetsize)
@@ -2481,7 +2481,7 @@ probe syscall.compat_signalfd.return =
                kernel.function("compat_sys_signalfd4").return !,
                kernel.function("compat_sys_signalfd").return ?
 {
-       flags = @defined($flags) ? $flags : 0;
+       flags = @choose_defined($flags, 0);
        name = (flags == 0) ? "compat_signalfd" : "compat_signalfd4"
        retstr = return_str(1, $return)
 }
@@ -2512,7 +2512,7 @@ probe syscall.sigprocmask = kernel.function("sys_sigprocmask").call ?,
        name = "sigprocmask"
        how  = $how
        how_str = _sigprocmask_how_str($how)
-       set_uaddr    = @defined($set) ? $set : $nset
+       set_uaddr    = @choose_defined($set, $nset)
        oldset_uaddr = $oset
        argstr = sprintf("%s, %p, %p", how_str, set_uaddr, $oset)
 }
@@ -2688,9 +2688,9 @@ probe syscall.statfs = kernel.function("compat_sys_statfs").call ?,
 {
        name = "statfs"
        buf_uaddr = $buf
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %p",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                $buf)
 }
 
@@ -2713,9 +2713,9 @@ probe syscall.statfs64 = kernel.function("compat_sys_statfs64").call ?,
        sz = $sz
        buf_uaddr = $buf
 
-       path = user_string(@defined($pathname) ? $pathname : $path)
+       path = user_string(@choose_defined($pathname, $path))
        argstr = sprintf("%s, %d, %p",
-               user_string_quoted(@defined($pathname) ? $pathname : $path),
+               user_string_quoted(@choose_defined($pathname, $path)),
                $sz, $buf)
 }
 
@@ -3313,8 +3313,8 @@ probe syscall.ustat32 = kernel.function("compat_sys_ustat").call ?,
 {
        name = "ustat"
        dev = $dev
-       ubuf_uaddr = (@defined($u) ? $u : $u32p)
-       argstr = sprintf("%d, %p", $dev, (@defined($u) ? $u : $u32p))
+       ubuf_uaddr = @choose_defined($u, $u32p)
+       argstr = sprintf("%d, %p", $dev, @choose_defined($u, $u32p))
 }
 
 probe syscall.ustat.return = kernel.function("sys_ustat").return ?,
@@ -3479,13 +3479,13 @@ probe syscall.compat_vmsplice.return = kernel.function("compat_sys_vmsplice").re
 probe syscall.wait4 = kernel.function("sys_wait4").call
 {
        name = "wait4"
-       pid = (@defined($upid) ? $upid : $pid)
+       pid = @choose_defined($upid, $pid)
        status_uaddr = $stat_addr
        options = $options & 0xffffffff
        options_str = _wait4_opt_str(options)
        rusage_uaddr = $ru
        argstr = sprintf("%d, %p, %s, %p",
-               (@defined($upid) ? $upid : $pid),
+               @choose_defined($upid, $pid),
                $stat_addr, options_str, $ru)
 }
 probe syscall.wait4.return = kernel.function("sys_wait4").return
@@ -3512,7 +3512,7 @@ probe syscall.wait4.return = kernel.function("sys_wait4").return
 probe syscall.waitid = kernel.function("sys_waitid").call
 {
        name = "waitid"
-       pid = (@defined($upid) ? $upid : $pid)
+       pid = @choose_defined($upid, $pid)
        which = $which
        which_str = _waitid_which_str($which)
        infop_uaddr = $infop
@@ -3520,7 +3520,7 @@ probe syscall.waitid = kernel.function("sys_waitid").call
        options_str = _waitid_opt_str($options)
        rusage_uaddr = $ru
        argstr = sprintf("%d, %d, %p, %s, %p", $which,
-               (@defined($upid) ? $upid : $pid), $infop,
+               @choose_defined($upid, $pid), $infop,
                _waitid_opt_str($options), $ru)
 }
 probe syscall.waitid.return = kernel.function("sys_waitid").return
index 8322a83eb89c3b0bf530aa1531afc71244e64cd7..df4a44a7358643e804b74df96ed0633cd1faf479 100644 (file)
@@ -40,10 +40,9 @@ function task_current:long () %{ /* pure */
  */
 function task_parent:long(task:long)
 {
-    return (@defined(@cast(task, "task_struct",
-                          "kernel<linux/sched.h>")->real_parent)
-           ? @cast(task, "task_struct", "kernel<linux/sched.h>")->real_parent
-           : @cast(task, "task_struct", "kernel<linux/sched.h>")->parent)
+    return @choose_defined(
+           @cast(task, "task_struct", "kernel<linux/sched.h>")->real_parent,
+           @cast(task, "task_struct", "kernel<linux/sched.h>")->parent)
 }
 
 /**
@@ -256,9 +255,8 @@ function task_nice:long (task:long) %{ /* pure */
  */
 function task_cpu:long (task:long)
 {
-    ti = (@defined(@cast(task, "task_struct", "kernel<linux/sched.h>")->stack)
-         ? @cast(task, "task_struct", "kernel<linux/sched.h>")->stack
-         : @cast(task, "task_struct", "kernel<linux/sched.h>")->thread_info);
+    ti = @choose_defined(@cast(task, "task_struct", "kernel<linux/sched.h>")->stack,
+         @cast(task, "task_struct", "kernel<linux/sched.h>")->thread_info);
     return @cast(ti, "thread_info", "kernel<linux/sched.h>")->cpu
 }
 
index cf9b4f55ad7e6f4739c93a137e7a14e6fef8b38c..7737a2c3fdcac07a9ee2acb3850eac2172c4ebb3 100644 (file)
@@ -77,11 +77,9 @@ function tcp_ts_get_info_state:long(sock:long)
 /* return the TCP destination port for a given sock */
 function __tcp_sock_dport:long (sock:long)
 {
-    return (@defined(@cast(sock, "inet_sock")->inet_dport)
-           ? @cast(sock, "inet_sock")->inet_dport # kernel >= 2.6.33
-           : (@defined(@cast(sock, "inet_sock")->dport)
-              ? @cast(sock, "inet_sock", "kernel")->dport # kernel >= 2.6.11
-              : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->dport))
+    return @choose_defined(@cast(sock, "inet_sock")->inet_dport, # kernel >= 2.6.33
+           @choose_defined(@cast(sock, "inet_sock", "kernel")->dport, # kernel >= 2.6.11
+               @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->dport))
 }
 
 /* returns the TCP header for recent (<2.6.21) kernel */
@@ -159,11 +157,9 @@ function __tcp_skb_dport:long (tcphdr:long){
 /* return the TCP source port for a given sock */
 function __tcp_sock_sport:long (sock:long)
 {
-    return (@defined(@cast(sock, "inet_sock")->inet_sport)
-           ? @cast(sock, "inet_sock")->inet_sport # kernel >= 2.6.33
-           : (@defined(@cast(sock, "inet_sock")->sport)
-              ? @cast(sock, "inet_sock", "kernel")->sport # kernel >= 2.6.11
-              : @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->sport))
+    return @choose_defined(@cast(sock, "inet_sock")->inet_sport, # kernel >= 2.6.33
+           @choose_defined(@cast(sock, "inet_sock", "kernel")->sport, # kernel >= 2.6.11
+               @cast(sock, "inet_sock", "kernel<net/ip.h>")->inet->sport))
 }
 
 global sockstate[13], sockstate_init_p
@@ -686,7 +682,7 @@ probe tcp.ipv6.receive = kernel.function("tcp_v6_rcv")!,
        module("ipv6").function("tcp_v6_rcv")
 {
        name = "tcp.ipv6.receive"
-       iphdr = __get_skb_iphdr(@defined($skb) ? $skb : kernel_pointer($pskb))
+       iphdr = __get_skb_iphdr(@choose_defined($skb, kernel_pointer($pskb)))
        # If we're here, by definition we're doing AF_INET6, not AF_INET.
        family = %{ /* pure */ AF_INET6 %}
        saddr = format_ipaddr(&@cast(iphdr, "ipv6hdr")->saddr,
@@ -699,7 +695,7 @@ probe tcp.ipv6.receive = kernel.function("tcp_v6_rcv")!,
        # Procol ID (ETH_P_*), not an IP protocol ID (IPPROTO_*).
        protocol = %{ /* pure */ IPPROTO_TCP %}
 
-       tcphdr = __get_skb_tcphdr(@defined($skb) ? $skb : kernel_pointer($pskb))
+       tcphdr = __get_skb_tcphdr(@choose_defined($skb, kernel_pointer($pskb)))
        dport = __tcp_skb_dport(tcphdr)
        sport = __tcp_skb_sport(tcphdr)
        urg = __tcp_skb_urg(tcphdr)
index dfc94c3af300786eaa9ab6eaf285cef1ab1c0b26..dc2a639dc45c30ef81a06bf60b265b70e40e1764 100644 (file)
@@ -296,7 +296,7 @@ function _tcpmib_input_route_type:long (skb:long)
 probe
 __tcpmib.OutRsts.tcp_v4_send_reset = kernel.function("tcp_v4_send_reset")
 {
-        sk = (@defined($sk) ? $sk : 0)
+        sk = @choose_defined($sk, 0)
         op = 1;
         if ( _is_reset($skb) ) next
         if (_tcpmib_input_route_type($skb) != _rtn_local() )
index 1f67fc03ef106749ef0c81e44199e8a89d508ae5..582d238140d6725956fd015f6731153ccb4524aa 100644 (file)
@@ -24,8 +24,8 @@ probe tty.open = kernel.function("tty_open")
        inode_state = $inode->i_state
        inode_flags = $inode->i_flags
 
-       file_name = d_name(@defined($filp->f_path->dentry)
-               ? $filp->f_path->dentry : $filp->f_dentry)
+       file_name = d_name(@choose_defined($filp->f_path->dentry,
+                                          $filp->f_dentry))
        file_mode = $filp->f_mode
        file_flags = $filp->f_flags
 }
@@ -55,8 +55,8 @@ probe tty.release = kernel.function("tty_release")
                inode_flags = -1
        }
 
-       file_name = d_name(@defined($filp->f_path->dentry)
-               ? $filp->f_path->dentry : $filp->f_dentry)
+       file_name = d_name(@choose_defined($filp->f_path->dentry,
+                                          $filp->f_dentry))
        file_mode = $filp->f_mode
        file_flags = $filp->f_flags
 }
@@ -103,8 +103,8 @@ probe tty.resize = kernel.function("tiocswinsz")
  */
 probe tty.ioctl = kernel.function("tty_ioctl")
 {
-       name = kernel_string(@defined($file->f_path->dentry->d_iname)
-               ? $file->f_path->dentry->d_iname : $file->f_dentry->d_iname)
+       name = kernel_string(@choose_defined($file->f_path->dentry->d_iname,
+                                            $file->f_dentry->d_iname))
        cmd = $cmd
        arg = $arg
 }
@@ -160,8 +160,8 @@ probe tty.unregister = kernel.function("tty_unregister_device")
  */
 probe tty.poll = kernel.function("tty_poll")
 {
-       file_name = d_name(@defined($filp->f_path->dentry)
-               ? $filp->f_path->dentry : $filp->f_dentry)
+       file_name = d_name(@choose_defined($filp->f_path->dentry,
+                                          $filp->f_dentry))
 
        wait_key = (@defined($wait->key) ? ($wait ? $wait->key : 0) : 0)
 }
@@ -201,8 +201,8 @@ probe tty.write = kernel.function("n_tty_write") !,
        buffer = kernel_string($buf)
        nr = $nr
 
-       file_name = d_name(@defined($file->f_path->dentry)
-               ? $file->f_path->dentry : $file->f_dentry)
+       file_name = d_name(@choose_defined($file->f_path->dentry,
+                                          $file->f_dentry))
        driver_name = kernel_string($tty->driver->driver_name)
 }
 
@@ -218,7 +218,7 @@ probe tty.read = kernel.function("n_tty_read") !,
 {
        buffer = kernel_string($buf)
        nr = $nr
-       file_name = d_name(@defined($file->f_path->dentry)
-               ? $file->f_path->dentry : $file->f_dentry)
+       file_name = d_name(@choose_defined($file->f_path->dentry,
+                                          $file->f_dentry))
        driver_name = kernel_string($tty->driver->driver_name)
 }
index 6ca330190693eee8e267ee3dfae2a54fe70ea89f..f2cbc92912874d6abb816272e4f7f82f8a70ceda 100644 (file)
@@ -105,9 +105,8 @@ function __file_maxbytes:long (file:long)
 function __file_filename:string (file:long)
 {
        dentry = file
-               ? (@defined(@cast(file, "file", "kernel")->f_path->dentry)
-                       ? @cast(file, "file", "kernel")->f_path->dentry
-                       : @cast(file, "file", "kernel")->f_dentry)
+               ? @choose_defined(@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)
@@ -174,7 +173,7 @@ probe generic.fop.aio_read =
        devname = __find_bdevname(dev, __file_bdev($iocb->ki_filp))
        ino = __file_ino($iocb->ki_filp)
         
-       pos = (@defined($pos) ? $pos : kernel_pointer($ppos))
+       pos = @choose_defined($pos, kernel_pointer($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"
@@ -215,7 +214,7 @@ probe generic.fop.aio_write = kernel.function("generic_file_aio_write")
         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)
+       buf = @choose_defined($iov->iov_base, $buf)
        name = "generic_file_aio_write"
        argstr = sprintf("%d, %d, %p", count, pos, buf)
 
@@ -988,7 +987,7 @@ probe _vfs.block_prepare_write.return =
 
 probe _vfs.block_write_begin = kernel.function("block_write_begin") ?
 {
-       file = (@defined($file) ? $file : 0)
+       file = @choose_defined($file, 0)
        pos = $pos
        len = $len
        flags = $flags
@@ -1005,7 +1004,7 @@ probe _vfs.block_write_begin.return =
        name = "_vfs.block_write_begin"
        retstr = sprintf("%d", $return)
 
-       file = (@defined($file) ? $file : 0)
+       file = @choose_defined($file, 0)
        pos = $pos
        len = $len
        flags = $flags
index ddc24ea7f5b92d84110c1d53f51a74a09a2c3251..4cd741f9fc1b7107eccbffdca8680ddae25fd8d6 100644 (file)
@@ -26,7 +26,7 @@ probe syscall.arch_prctl.return = kernel.function("sys_arch_prctl").return
 probe syscall.iopl = kernel.function("sys_iopl")
 {
        name = "iopl"
-       level = (@defined($level) ? $level : $new_iopl)
+       level = @choose_defined($level, $new_iopl)
        argstr = sprint(level)
 }
 probe syscall.iopl.return = kernel.function("sys_iopl").return
This page took 0.18223 seconds and 5 git commands to generate.