summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/xprtsock.c
diff options
context:
space:
mode:
authorChuck Lever2005-08-26 01:25:50 +0200
committerTrond Myklebust2005-09-23 18:38:36 +0200
commitfe3aca290f17ae4978bd73d02aa4029f1c9c024c (patch)
tree4fbaa255e9e7a85f41eacb7cf1214dc44a90bcea /net/sunrpc/xprtsock.c
parent[PATCH] RPC: get rid of xprt->stream (diff)
downloadkernel-qcow2-linux-fe3aca290f17ae4978bd73d02aa4029f1c9c024c.tar.gz
kernel-qcow2-linux-fe3aca290f17ae4978bd73d02aa4029f1c9c024c.tar.xz
kernel-qcow2-linux-fe3aca290f17ae4978bd73d02aa4029f1c9c024c.zip
[PATCH] RPC: add API to set transport-specific timeouts
Prepare the way to remove the "xprt->nocong" variable by adding a callout to the RPC client transport switch API to handle setting RPC retransmit timeouts. Add a pair of generic helper functions that provide the ability to set a simple fixed timeout, or to set a timeout based on the state of a round- trip estimator. Test-plan: Use WAN simulation to cause sporadic bursty packet loss. Look for significant regression in performance or client stability. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/xprtsock.c')
-rw-r--r--net/sunrpc/xprtsock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 5bb6fed3df34..79433ffd1df0 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -1047,6 +1047,7 @@ static struct rpc_xprt_ops xs_udp_ops = {
.set_buffer_size = xs_udp_set_buffer_size,
.connect = xs_connect,
.send_request = xs_udp_send_request,
+ .set_retrans_timeout = xprt_set_retrans_timeout_rtt,
.close = xs_close,
.destroy = xs_destroy,
};
@@ -1055,6 +1056,7 @@ static struct rpc_xprt_ops xs_tcp_ops = {
.set_buffer_size = xs_tcp_set_buffer_size,
.connect = xs_connect,
.send_request = xs_tcp_send_request,
+ .set_retrans_timeout = xprt_set_retrans_timeout_def,
.close = xs_close,
.destroy = xs_destroy,
};