SUNRPC: Add the helper function 'rpc_call_null()'
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Sat, 23 Jun 2007 14:17:16 +0000 (10:17 -0400)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 11 Jul 2007 03:40:34 +0000 (23:40 -0400)
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>
include/linux/sunrpc/clnt.h
net/sunrpc/clnt.c

index a0e51e1..097984b 100644 (file)
@@ -130,6 +130,8 @@ int         rpc_call_async(struct rpc_clnt *clnt, struct rpc_message *msg,
                               void *calldata);
 int            rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg,
                              int flags);
+struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred,
+                              int flags);
 void           rpc_restart_call(struct rpc_task *);
 void           rpc_clnt_sigmask(struct rpc_clnt *clnt, sigset_t *oldset);
 void           rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset);
index 4e91f31..5a28ffa 100644 (file)
@@ -1455,6 +1455,16 @@ static int rpc_ping(struct rpc_clnt *clnt, int flags)
        return err;
 }
 
+struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, int flags)
+{
+       struct rpc_message msg = {
+               .rpc_proc = &rpcproc_null,
+               .rpc_cred = cred,
+       };
+       return rpc_do_run_task(clnt, &msg, flags, &rpc_default_ops, NULL);
+}
+EXPORT_SYMBOL(rpc_call_null);
+
 #ifdef RPC_DEBUG
 void rpc_show_tasks(void)
 {