|
@@ -2016,9 +2016,6 @@ static void xs_connect(struct rpc_task *task)
|
|
struct rpc_xprt *xprt = task->tk_xprt;
|
|
struct rpc_xprt *xprt = task->tk_xprt;
|
|
struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt);
|
|
struct sock_xprt *transport = container_of(xprt, struct sock_xprt, xprt);
|
|
|
|
|
|
- if (xprt_test_and_set_connecting(xprt))
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
if (transport->sock != NULL && !RPC_IS_SOFTCONN(task)) {
|
|
if (transport->sock != NULL && !RPC_IS_SOFTCONN(task)) {
|
|
dprintk("RPC: xs_connect delayed xprt %p for %lu "
|
|
dprintk("RPC: xs_connect delayed xprt %p for %lu "
|
|
"seconds\n",
|
|
"seconds\n",
|
|
@@ -2038,16 +2035,6 @@ static void xs_connect(struct rpc_task *task)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static void xs_tcp_connect(struct rpc_task *task)
|
|
|
|
-{
|
|
|
|
- struct rpc_xprt *xprt = task->tk_xprt;
|
|
|
|
-
|
|
|
|
- /* Exit if we need to wait for socket shutdown to complete */
|
|
|
|
- if (test_bit(XPRT_CLOSING, &xprt->state))
|
|
|
|
- return;
|
|
|
|
- xs_connect(task);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* xs_udp_print_stats - display UDP socket-specifc stats
|
|
* xs_udp_print_stats - display UDP socket-specifc stats
|
|
* @xprt: rpc_xprt struct containing statistics
|
|
* @xprt: rpc_xprt struct containing statistics
|
|
@@ -2246,7 +2233,7 @@ static struct rpc_xprt_ops xs_tcp_ops = {
|
|
.release_xprt = xs_tcp_release_xprt,
|
|
.release_xprt = xs_tcp_release_xprt,
|
|
.rpcbind = rpcb_getport_async,
|
|
.rpcbind = rpcb_getport_async,
|
|
.set_port = xs_set_port,
|
|
.set_port = xs_set_port,
|
|
- .connect = xs_tcp_connect,
|
|
|
|
|
|
+ .connect = xs_connect,
|
|
.buf_alloc = rpc_malloc,
|
|
.buf_alloc = rpc_malloc,
|
|
.buf_free = rpc_free,
|
|
.buf_free = rpc_free,
|
|
.send_request = xs_tcp_send_request,
|
|
.send_request = xs_tcp_send_request,
|