diff options
author | Tom Tucker <tom@opengridcomputing.com> | 2007-12-30 22:07:31 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-02-01 16:42:08 -0500 |
commit | 323bee32e9bef14c6dd943ecc8e8cd373a9c94d9 (patch) | |
tree | 5779a724dfcbe3aee1f06d9eb989931d1dcfa163 /include | |
parent | e831fe65b10199e1e301a7316c66d6ced133712d (diff) |
svc: Add a transport function that checks for write space
In order to avoid blocking a service thread, the receive side checks
to see if there is sufficient write space to reply to the request.
Each transport has a different mechanism for determining if there is
enough write space to reply.
The code that checked for write space was coupled with code that
checked for CLOSE and CONN. These checks have been broken out into
separate statements to make the code easier to read.
Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Acked-by: Neil Brown <neilb@suse.de>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-by: Greg Banks <gnb@sgi.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/sunrpc/svc_xprt.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h index 199cfcb9860b..85df97acc2d0 100644 --- a/include/linux/sunrpc/svc_xprt.h +++ b/include/linux/sunrpc/svc_xprt.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/sunrpc/svc.h> | 10 | #include <linux/sunrpc/svc.h> |
11 | 11 | ||
12 | struct svc_xprt_ops { | 12 | struct svc_xprt_ops { |
13 | int (*xpo_has_wspace)(struct svc_xprt *); | ||
13 | int (*xpo_recvfrom)(struct svc_rqst *); | 14 | int (*xpo_recvfrom)(struct svc_rqst *); |
14 | void (*xpo_prep_reply_hdr)(struct svc_rqst *); | 15 | void (*xpo_prep_reply_hdr)(struct svc_rqst *); |
15 | int (*xpo_sendto)(struct svc_rqst *); | 16 | int (*xpo_sendto)(struct svc_rqst *); |