Commit cea57789 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Clean up



Replace remaining callers of call_timeout() with rpc_check_timeout().

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 7b3fef8e
Loading
Loading
Loading
Loading
+14 −33
Original line number Diff line number Diff line
@@ -70,7 +70,6 @@ static void call_status(struct rpc_task *task);
static void	call_transmit_status(struct rpc_task *task);
static void	call_refresh(struct rpc_task *task);
static void	call_refreshresult(struct rpc_task *task);
static void	call_timeout(struct rpc_task *task);
static void	call_connect(struct rpc_task *task);
static void	call_connect_status(struct rpc_task *task);

@@ -1908,7 +1907,8 @@ call_bind_status(struct rpc_task *task)

retry_timeout:
	task->tk_status = 0;
	task->tk_action = call_timeout;
	task->tk_action = call_encode;
	rpc_check_timeout(task);
}

/*
@@ -2197,10 +2197,8 @@ call_status(struct rpc_task *task)
	case -EHOSTUNREACH:
	case -ENETUNREACH:
	case -EPERM:
		if (RPC_IS_SOFTCONN(task)) {
			rpc_exit(task, status);
			break;
		}
		if (RPC_IS_SOFTCONN(task))
			goto out_exit;
		/*
		 * Delay any retries for 3 seconds, then handle as if it
		 * were a timeout.
@@ -2208,7 +2206,6 @@ call_status(struct rpc_task *task)
		rpc_delay(task, 3*HZ);
		/* fall through */
	case -ETIMEDOUT:
		task->tk_action = call_timeout;
		break;
	case -ECONNREFUSED:
	case -ECONNRESET:
@@ -2221,18 +2218,21 @@ call_status(struct rpc_task *task)
	case -EPIPE:
	case -ENOTCONN:
	case -EAGAIN:
		task->tk_action = call_timeout;
		break;
	case -EIO:
		/* shutdown or soft timeout */
		rpc_exit(task, status);
		break;
		goto out_exit;
	default:
		if (clnt->cl_chatty)
			printk("%s: RPC call returned error %d\n",
			       clnt->cl_program->name, -status);
		rpc_exit(task, status);
		goto out_exit;
	}
	task->tk_action = call_encode;
	rpc_check_timeout(task);
	return;
out_exit:
	rpc_exit(task, status);
}

static void
@@ -2279,19 +2279,6 @@ rpc_check_timeout(struct rpc_task *task)
	rpcauth_invalcred(task);
}

/*
 * 6a.	Handle RPC timeout
 * 	We do not release the request slot, so we keep using the
 *	same XID for all retransmits.
 */
static void
call_timeout(struct rpc_task *task)
{
	task->tk_action = call_encode;
	task->tk_status = 0;
	rpc_check_timeout(task);
}

/*
 * 7.	Decode the RPC reply
 */
@@ -2329,16 +2316,8 @@ call_decode(struct rpc_task *task)
	WARN_ON(memcmp(&req->rq_rcv_buf, &req->rq_private_buf,
				sizeof(req->rq_rcv_buf)) != 0);

	if (req->rq_rcv_buf.len < 12) {
		if (!RPC_IS_SOFT(task)) {
			task->tk_action = call_encode;
			goto out_retry;
		}
		dprintk("RPC:       %s: too small RPC reply size (%d bytes)\n",
				clnt->cl_program->name, task->tk_status);
		task->tk_action = call_timeout;
	if (req->rq_rcv_buf.len < 12)
		goto out_retry;
	}

	xdr_init_decode(&xdr, &req->rq_rcv_buf,
			req->rq_rcv_buf.head[0].iov_base, req);
@@ -2361,6 +2340,8 @@ out_retry:
				xprt_conditional_disconnect(req->rq_xprt,
							    req->rq_connect_cookie);
		}
		task->tk_action = call_encode;
		rpc_check_timeout(task);
	}
}