]> sourceware.org Git - systemtap.git/commitdiff
Updated nfsd.proc.remove probes
authorSteve Dickson <steved@redhat.com>
Tue, 23 Feb 2010 16:50:38 +0000 (11:50 -0500)
committerSteve Dickson <steved@redhat.com>
Tue, 16 Mar 2010 15:11:21 +0000 (11:11 -0400)
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>
tapset/nfsd.stp

index 41263fbd96b1745761c1030d3796fbaf8bf5c011..9726de003b54ac80bd8244a816b3187eba7d6f76 100644 (file)
@@ -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
This page took 0.053875 seconds and 5 git commands to generate.