SUNRPC: Rename "call_" functions that are no longer FSM states
The RPC client uses a finite state machine to move RPC tasks through each step of an RPC request. Each state is contained in a function in net/sunrpc/clnt.c, and named call_foo. Some of the functions named call_foo have changed over the past few years and are no longer states in the FSM. These include: call_encode, call_header, and call_verify. As a clean up, rename the functions that have changed. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
committed by
Trond Myklebust
parent
3748f1e447
commit
b0e1c57ea0
@@ -58,7 +58,6 @@ static void call_start(struct rpc_task *task);
|
|||||||
static void call_reserve(struct rpc_task *task);
|
static void call_reserve(struct rpc_task *task);
|
||||||
static void call_reserveresult(struct rpc_task *task);
|
static void call_reserveresult(struct rpc_task *task);
|
||||||
static void call_allocate(struct rpc_task *task);
|
static void call_allocate(struct rpc_task *task);
|
||||||
static void call_encode(struct rpc_task *task);
|
|
||||||
static void call_decode(struct rpc_task *task);
|
static void call_decode(struct rpc_task *task);
|
||||||
static void call_bind(struct rpc_task *task);
|
static void call_bind(struct rpc_task *task);
|
||||||
static void call_bind_status(struct rpc_task *task);
|
static void call_bind_status(struct rpc_task *task);
|
||||||
@@ -70,9 +69,9 @@ static void call_refreshresult(struct rpc_task *task);
|
|||||||
static void call_timeout(struct rpc_task *task);
|
static void call_timeout(struct rpc_task *task);
|
||||||
static void call_connect(struct rpc_task *task);
|
static void call_connect(struct rpc_task *task);
|
||||||
static void call_connect_status(struct rpc_task *task);
|
static void call_connect_status(struct rpc_task *task);
|
||||||
static __be32 * call_header(struct rpc_task *task);
|
|
||||||
static __be32 * call_verify(struct rpc_task *task);
|
|
||||||
|
|
||||||
|
static __be32 *rpc_encode_header(struct rpc_task *task);
|
||||||
|
static __be32 *rpc_verify_header(struct rpc_task *task);
|
||||||
static int rpc_ping(struct rpc_clnt *clnt, int flags);
|
static int rpc_ping(struct rpc_clnt *clnt, int flags);
|
||||||
|
|
||||||
static void rpc_register_client(struct rpc_clnt *clnt)
|
static void rpc_register_client(struct rpc_clnt *clnt)
|
||||||
@@ -876,7 +875,7 @@ rpc_xdr_buf_init(struct xdr_buf *buf, void *start, size_t len)
|
|||||||
* 3. Encode arguments of an RPC call
|
* 3. Encode arguments of an RPC call
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
call_encode(struct rpc_task *task)
|
rpc_xdr_encode(struct rpc_task *task)
|
||||||
{
|
{
|
||||||
struct rpc_rqst *req = task->tk_rqstp;
|
struct rpc_rqst *req = task->tk_rqstp;
|
||||||
kxdrproc_t encode;
|
kxdrproc_t encode;
|
||||||
@@ -891,13 +890,14 @@ call_encode(struct rpc_task *task)
|
|||||||
(char *)req->rq_buffer + req->rq_callsize,
|
(char *)req->rq_buffer + req->rq_callsize,
|
||||||
req->rq_rcvsize);
|
req->rq_rcvsize);
|
||||||
|
|
||||||
/* Encode header and provided arguments */
|
p = rpc_encode_header(task);
|
||||||
encode = task->tk_msg.rpc_proc->p_encode;
|
if (p == NULL) {
|
||||||
if (!(p = call_header(task))) {
|
printk(KERN_INFO "RPC: couldn't encode RPC header, exit EIO\n");
|
||||||
printk(KERN_INFO "RPC: call_header failed, exit EIO\n");
|
|
||||||
rpc_exit(task, -EIO);
|
rpc_exit(task, -EIO);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
encode = task->tk_msg.rpc_proc->p_encode;
|
||||||
if (encode == NULL)
|
if (encode == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -1056,7 +1056,7 @@ call_transmit(struct rpc_task *task)
|
|||||||
/* Encode here so that rpcsec_gss can use correct sequence number. */
|
/* Encode here so that rpcsec_gss can use correct sequence number. */
|
||||||
if (rpc_task_need_encode(task)) {
|
if (rpc_task_need_encode(task)) {
|
||||||
BUG_ON(task->tk_rqstp->rq_bytes_sent != 0);
|
BUG_ON(task->tk_rqstp->rq_bytes_sent != 0);
|
||||||
call_encode(task);
|
rpc_xdr_encode(task);
|
||||||
/* Did the encode result in an error condition? */
|
/* Did the encode result in an error condition? */
|
||||||
if (task->tk_status != 0) {
|
if (task->tk_status != 0) {
|
||||||
/* Was the error nonfatal? */
|
/* Was the error nonfatal? */
|
||||||
@@ -1240,8 +1240,7 @@ call_decode(struct rpc_task *task)
|
|||||||
goto out_retry;
|
goto out_retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Verify the RPC header */
|
p = rpc_verify_header(task);
|
||||||
p = call_verify(task);
|
|
||||||
if (IS_ERR(p)) {
|
if (IS_ERR(p)) {
|
||||||
if (p == ERR_PTR(-EAGAIN))
|
if (p == ERR_PTR(-EAGAIN))
|
||||||
goto out_retry;
|
goto out_retry;
|
||||||
@@ -1259,7 +1258,7 @@ call_decode(struct rpc_task *task)
|
|||||||
return;
|
return;
|
||||||
out_retry:
|
out_retry:
|
||||||
task->tk_status = 0;
|
task->tk_status = 0;
|
||||||
/* Note: call_verify() may have freed the RPC slot */
|
/* Note: rpc_verify_header() may have freed the RPC slot */
|
||||||
if (task->tk_rqstp == req) {
|
if (task->tk_rqstp == req) {
|
||||||
req->rq_received = req->rq_rcv_buf.len = 0;
|
req->rq_received = req->rq_rcv_buf.len = 0;
|
||||||
if (task->tk_client->cl_discrtry)
|
if (task->tk_client->cl_discrtry)
|
||||||
@@ -1306,11 +1305,8 @@ call_refreshresult(struct rpc_task *task)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Call header serialization
|
|
||||||
*/
|
|
||||||
static __be32 *
|
static __be32 *
|
||||||
call_header(struct rpc_task *task)
|
rpc_encode_header(struct rpc_task *task)
|
||||||
{
|
{
|
||||||
struct rpc_clnt *clnt = task->tk_client;
|
struct rpc_clnt *clnt = task->tk_client;
|
||||||
struct rpc_rqst *req = task->tk_rqstp;
|
struct rpc_rqst *req = task->tk_rqstp;
|
||||||
@@ -1330,11 +1326,8 @@ call_header(struct rpc_task *task)
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Reply header verification
|
|
||||||
*/
|
|
||||||
static __be32 *
|
static __be32 *
|
||||||
call_verify(struct rpc_task *task)
|
rpc_verify_header(struct rpc_task *task)
|
||||||
{
|
{
|
||||||
struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0];
|
struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0];
|
||||||
int len = task->tk_rqstp->rq_rcv_buf.len >> 2;
|
int len = task->tk_rqstp->rq_rcv_buf.len >> 2;
|
||||||
@@ -1408,7 +1401,7 @@ call_verify(struct rpc_task *task)
|
|||||||
task->tk_action = call_bind;
|
task->tk_action = call_bind;
|
||||||
goto out_retry;
|
goto out_retry;
|
||||||
case RPC_AUTH_TOOWEAK:
|
case RPC_AUTH_TOOWEAK:
|
||||||
printk(KERN_NOTICE "call_verify: server %s requires stronger "
|
printk(KERN_NOTICE "RPC: server %s requires stronger "
|
||||||
"authentication.\n", task->tk_client->cl_server);
|
"authentication.\n", task->tk_client->cl_server);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user