commit 9989c537437c3cfffae61e33bbe4fe60ac1c7eed
Author: David Smith <dsmith@redhat.com>
Date: Tue Mar 28 16:36:30 2017 -0500
Workaround parser issue in nfs_proc.stp.
* tapset/linux/nfs_proc.stp (nfs.proc3.read_done): To avoid parser issues,
split up @choose_defined() code into two separate if statements. Note
that this is a workaround until we can fix the parser issue.
(nfs.proc4.read_done): Ditto.
diff --git a/tapset/linux/nfs_proc.stp b/tapset/linux/nfs_proc.stp
index 2c0bd8d..140e643 100644
--- a/tapset/linux/nfs_proc.stp
+++ b/tapset/linux/nfs_proc.stp
@@ -889,10 +889,15 @@ probe nfs.proc3.read_done = kernel.function("nfs3_read_done") !,
module("nfs").function("nfs3_read_done") ?,
module("nfsv3").function("nfs3_read_done") ?
{
- if (@defined($hdr) || @defined($data)) { # kernels >= 2.6.10
- server_ip = @_nfs_data_server_ip(@choose_defined($hdr, $data))
- prot = @_nfs_data_prot(@choose_defined($hdr, $data))
- count = @_nfs_data_res_count(@choose_defined($hdr, $data))
+ if (@defined($hdr)) { # kernels >= 3.17
+ server_ip = @_nfs_data_server_ip($hdr)
+ prot = @_nfs_data_prot($hdr)
+ count = @_nfs_data_res_count($hdr)
+ }
+ else if (@defined($data)) { # kernels >= 2.6.10
+ server_ip = @_nfs_data_server_ip($data)
+ prot = @_nfs_data_prot($data)
+ count = @_nfs_data_res_count($data)
}
else {
server_ip = @_nfs_data_server_ip($task->tk_calldata)
@@ -923,11 +928,17 @@ probe nfs.proc4.read_done = kernel.function("nfs4_read_done") !,
module("nfs").function("nfs4_read_done") ?,
module("nfsv4").function("nfs4_read_done") ?
{
- if (@defined($hdr) || @defined($data)) { # kernels >= 2.6.10
- server_ip = @_nfs_data_server_ip(@choose_defined($hdr, $data))
- prot = @_nfs_data_prot(@choose_defined($hdr, $data))
- count = @_nfs_data_res_count(@choose_defined($hdr, $data))
- timestamp = @_nfs_data_timestamp(@choose_defined($hdr, $data))
+ if (@defined($hdr)) { # kernels >= 3.17
+ server_ip = @_nfs_data_server_ip($hdr)
+ prot = @_nfs_data_prot($hdr)
+ count = @_nfs_data_res_count($hdr)
+ timestamp = @_nfs_data_timestamp($hdr)
+ }
+ else if (@defined($data)) { # kernels >= 2.6.10
+ server_ip = @_nfs_data_server_ip($data)
+ prot = @_nfs_data_prot($data)
+ count = @_nfs_data_res_count($data)
+ timestamp = @_nfs_data_timestamp($data)
}
else {
server_ip = @_nfs_data_server_ip($task->tk_calldata)