aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-06-23 10:17:16 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:34 -0400
commit5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e (patch)
tree719d24d2da4fb1c68edd9207436edb1fa40ccb09
parent64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4 (diff)
SUNRPC: Add the helper function 'rpc_call_null()'
Does a NULL RPC call and returns a pointer to the resulting rpc_task. The call may be either synchronous or asynchronous. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--include/linux/sunrpc/clnt.h2
-rw-r--r--net/sunrpc/clnt.c10
2 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
index a0e51e193284..097984b03857 100644
--- a/include/linux/sunrpc/clnt.h
+++ b/include/linux/sunrpc/clnt.h
@@ -130,6 +130,8 @@ int rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg,
130 void *calldata); 130 void *calldata);
131int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, 131int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg,
132 int flags); 132 int flags);
133struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred,
134 int flags);
133void rpc_restart_call(struct rpc_task *); 135void rpc_restart_call(struct rpc_task *);
134void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset); 136void rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset);
135void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset); 137void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset);
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 4e91f3110938..5a28ffac99ea 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1455,6 +1455,16 @@ static int rpc_ping(struct rpc_clnt *clnt, int flags)
1455 return err; 1455 return err;
1456} 1456}
1457 1457
1458struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int flags)
1459{
1460 struct rpc_message msg = {
1461 .rpc_proc = &rpcproc_null,
1462 .rpc_cred = cred,
1463 };
1464 return rpc_do_run_task(clnt, &msg, flags, &rpc_default_ops, NULL);
1465}
1466EXPORT_SYMBOL(rpc_call_null);
1467
1458#ifdef RPC_DEBUG 1468#ifdef RPC_DEBUG
1459void rpc_show_tasks(void) 1469void rpc_show_tasks(void)
1460{ 1470{