summaryrefslogtreecommitdiffstats
path: root/tapset/nfsd.stp
diff options
context:
space:
mode:
authorSteve Dickson <steved@redhat.com>2010-02-23 11:50:38 -0500
committerSteve Dickson <steved@redhat.com>2010-03-16 11:11:21 -0400
commita25ea7cdd1d15709e684b2223fa1008699e31fde (patch)
tree48fe26d80a30f39c43ab8480c5c7606e9b8de964 /tapset/nfsd.stp
parent6928378cb2bad107bb9cbb092c7465acca039767 (diff)
downloadsystemtap-steved-a25ea7cdd1d15709e684b2223fa1008699e31fde.tar.gz
systemtap-steved-a25ea7cdd1d15709e684b2223fa1008699e31fde.tar.xz
systemtap-steved-a25ea7cdd1d15709e684b2223fa1008699e31fde.zip
Updated nfsd.proc.remove probes
Converted the nfsd.proc.remove probes to used the @cast() mechanism. Created the nfsd.proc4.remove probes Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'tapset/nfsd.stp')
-rw-r--r--tapset/nfsd.stp38
1 files changed, 31 insertions, 7 deletions
diff --git a/tapset/nfsd.stp b/tapset/nfsd.stp
index 41263fbd..9726de00 100644
--- a/tapset/nfsd.stp
+++ b/tapset/nfsd.stp
@@ -685,10 +685,12 @@ probe nfsd.proc4.write.create = kernel.function("nfsd4_create").return!,
* filelen : length of file name
*/
probe nfsd.proc.remove = nfsd.proc2.remove,
- nfsd.proc3.remove
+ nfsd.proc3.remove,
+ nfsd.proc4.remove
{}
probe nfsd.proc.remove.return = nfsd.proc2.remove.return,
- nfsd.proc3.remove.return
+ nfsd.proc3.remove.return,
+ nfsd.proc4.remove.return
{}
probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")!,
@@ -697,7 +699,7 @@ probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")!,
client_ip = addr_from_rqst($rqstp)
proto = $rqstp->rq_prot
version = 2
- fh = __get_fh($argp,10)
+ fh = & @cast($argp, "struct nfsd_diropargs", "kernel:nfsd")->fh
filelen = $argp->len
filename = kernel_string_n($argp->name, filelen)
@@ -711,7 +713,7 @@ probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return!,
{
name = "nfsd.proc2.remove.return"
version = 2
- retstr = sprintf("%d",$return)
+ retstr = sprintf("%s", nfsderror($return))
}
probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")!,
@@ -719,8 +721,8 @@ probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")!,
{
client_ip = addr_from_rqst($rqstp)
proto = $rqstp->rq_prot
- version = 3
- fh = __get_fh($argp,11)
+ version = 3
+ fh = & @cast($argp, "struct nfsd3_diropargs", "kernel:nfsd")->fh
filelen = $argp->len
filename = kernel_string_n($argp->name, filelen)
@@ -734,9 +736,31 @@ probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return!,
{
name = "nfsd.proc3.remove.return"
version = 3
- retstr = sprintf("%d",$return)
+ retstr = sprintf("%s", nfsderror($return))
}
+probe nfsd.proc4.remove = kernel.function("nfsd4_remove") !,
+ module("nfsd").function("nfsd4_remove") ?
+{
+ client_ip = addr_from_rqst($rqstp)
+ proto = $rqstp->rq_prot
+ version = 4
+ fh = & @cast($cstate, "nfsd4_compound_state", "kernel:nfsd")->current_fh
+ filelen = $remove->rm_namelen
+ filename = kernel_string_n($remove->rm_name, filelen)
+
+ name = "nfsd.proc4.remove"
+ argstr = sprintf("%s", filename);
+
+}
+
+probe nfsd.proc4.remove.return = kernel.function("nfsd4_remove").return!,
+ module("nfsd").function("nfsd4_remove").return?
+{
+ name = "nfsd.proc4.remove.return"
+ version = 4
+ retstr = sprintf("%s", nfsderror($return))
+}
/*
* probe nfsd.proc.rename
* Fires when clients rename a file on server side