aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
authorTom Tucker <tom@opengridcomputing.com>2007-12-30 22:07:31 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:08 -0500
commit323bee32e9bef14c6dd943ecc8e8cd373a9c94d9 (patch)
tree5779a724dfcbe3aee1f06d9eb989931d1dcfa163 /include/linux/sunrpc
parente831fe65b10199e1e301a7316c66d6ced133712d (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/linux/sunrpc')
-rw-r--r--include/linux/sunrpc/svc_xprt.h1
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
12struct svc_xprt_ops { 12struct 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 *);