]> sourceware.org Git - systemtap.git/commitdiff
2007-09-25 Zhaolei <zhaolei@cn.fujitsu.com>
authorzhaolei <zhaolei>
Tue, 25 Sep 2007 00:36:32 +0000 (00:36 +0000)
committerzhaolei <zhaolei>
Tue, 25 Sep 2007 00:36:32 +0000 (00:36 +0000)
From CaiFei <caifei@cn.fujitsu.com>
* rpc.stp Add function for probe point sunrpc.clnt.create_client.

tapset/rpc.stp

index 29a8e0fad3456709b365cf6361645aa5461263ab..44a75ebfb9a8076ac18377496af4ed28491cff95 100644 (file)
@@ -56,6 +56,11 @@ probe sunrpc.clnt.return =
  *  rpc_create_client(struct rpc_xprt *xprt, char *servname, 
  *     struct rpc_program *info, u32 version, 
  *     rpc_authflavor_t authflavor)
+ *
+ *  static struct rpc_clnt * 
+ *  rpc_new_client(struct rpc_xprt *xprt, char *servname, 
+ * struct rpc_program *program, u32 vers, 
+ * rpc_authflavor_t flavor)
  * 
  *  @servername: the server machine name
  *  @progname:   the RPC program name
@@ -65,10 +70,19 @@ probe sunrpc.clnt.return =
  *  @port:      the port number
  *  @authflavor: the authentication flavor
  */
-probe sunrpc.clnt.create_client = kernel.function("rpc_create_client") ?,
-       module("sunrpc").function("rpc_create_client") ?
+probe sunrpc.clnt.create_client = _sunrpc.clnt.create_client.*
 {
        servername = kernel_string($servname)
+       prot = $xprt->prot
+       port = $xprt->port
+       argstr = sprintf("%s %s %d %d %d %d %d", servername, progname, 
+               prog, vers, prot, port, authflavor)
+}
+
+probe _sunrpc.clnt.create_client.part1 = kernel.function("rpc_create_client") ?,
+       module("sunrpc").function("rpc_create_client") ?
+{
+       name = "sunrpc.clnt.create_client"
 %( kernel_v >= "2.6.10" %?
        progname = kernel_string($info->name)
        prog = $info->number
@@ -80,21 +94,35 @@ probe sunrpc.clnt.create_client = kernel.function("rpc_create_client") ?,
        vers = vers_from_prog($program, $vers)
        authflavor = $flavor
 %)
-       
-       prot = $xprt->prot
-       port = $xprt->port
+}
 
-       name = "sunrpc.clnt.create_client"
-       argstr = sprintf("%s %s %d %d %d %d %d", servername, progname, 
-                       prog, vers, prot, port, authflavor)
+probe _sunrpc.clnt.create_client.part2 = kernel.function("rpc_new_client") ?,
+       module("sunrpc").function("rpc_new_client") ?
+{
+       name = "sunrpc.clnt.new_client"
+       progname = kernel_string($program->name)
+       prog = $program->number
+       vers = vers_from_prog($program, $vers)
+       authflavor = $flavor
+}
+
+probe sunrpc.clnt.create_client.return = _sunrpc.clnt.create_client.return.* 
+{
+       retstr = returnstr($return)
 }
 
-probe sunrpc.clnt.create_client.return = 
+probe _sunrpc.clnt.create_client.return.part1 = 
        kernel.function("rpc_create_client").return ?,
-       module("sunrpc").function("rpc_create_client").return ?
+       module("sunrpc").function("rpc_create_client").return ?
 {
        name = "sunrpc.clnt.create_client.return"
-       retstr = returnstr($return)
+}
+
+probe _sunrpc.clnt.create_client.return.part2 =
+       kernel.function("rpc_new_client").return ?,
+       module("sunrpc").function("rpc_new_client").return ?
+{
+       name = "sunrpc.clnt.new_client.return"
 }
 
 /*
This page took 0.03136 seconds and 5 git commands to generate.