aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/xprt.h
diff options
context:
space:
mode:
authorChuck Lever <cel@netapp.com>2005-08-25 19:25:51 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-09-23 12:38:40 -0400
commit49e9a89086b3cae784a4868ca852863e4f4ea3fe (patch)
tree5ba197fc1767fee5590b892b2f19aeb3583494c4 /include/linux/sunrpc/xprt.h
parent12a804698b29d040b7cdd92e8a44b0e75164dae9 (diff)
[PATCH] RPC: expose API for serializing access to RPC transports
The next method we abstract is the one that releases a transport, allowing another task to have access to the transport. Again, one generic version of this is provided for transports that don't need the RPC client to perform congestion control, and one version is for transports that can use the original Van Jacobson implementation in xprt.c. 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 'include/linux/sunrpc/xprt.h')
-rw-r--r--include/linux/sunrpc/xprt.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h
index eee1c6877851..86833b725bb5 100644
--- a/include/linux/sunrpc/xprt.h
+++ b/include/linux/sunrpc/xprt.h
@@ -133,6 +133,7 @@ struct rpc_xprt;
133struct rpc_xprt_ops { 133struct rpc_xprt_ops {
134 void (*set_buffer_size)(struct rpc_xprt *xprt); 134 void (*set_buffer_size)(struct rpc_xprt *xprt);
135 int (*reserve_xprt)(struct rpc_task *task); 135 int (*reserve_xprt)(struct rpc_task *task);
136 void (*release_xprt)(struct rpc_xprt *xprt, struct rpc_task *task);
136 void (*connect)(struct rpc_task *task); 137 void (*connect)(struct rpc_task *task);
137 int (*send_request)(struct rpc_task *task); 138 int (*send_request)(struct rpc_task *task);
138 void (*set_retrans_timeout)(struct rpc_task *task); 139 void (*set_retrans_timeout)(struct rpc_task *task);
@@ -238,6 +239,8 @@ int xprt_reserve_xprt_cong(struct rpc_task *task);
238int xprt_prepare_transmit(struct rpc_task *task); 239int xprt_prepare_transmit(struct rpc_task *task);
239void xprt_transmit(struct rpc_task *task); 240void xprt_transmit(struct rpc_task *task);
240int xprt_adjust_timeout(struct rpc_rqst *req); 241int xprt_adjust_timeout(struct rpc_rqst *req);
242void xprt_release_xprt(struct rpc_xprt *xprt, struct rpc_task *task);
243void xprt_release_xprt_cong(struct rpc_xprt *xprt, struct rpc_task *task);
241void xprt_release(struct rpc_task *task); 244void xprt_release(struct rpc_task *task);
242int xprt_destroy(struct rpc_xprt *xprt); 245int xprt_destroy(struct rpc_xprt *xprt);
243 246