summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorTom Tucker2007-12-31 04:07:31 +0100
committerJ. Bruce Fields2008-02-01 22:42:08 +0100
commit323bee32e9bef14c6dd943ecc8e8cd373a9c94d9 (patch)
tree5779a724dfcbe3aee1f06d9eb989931d1dcfa163 /include/linux
parentsvc: Add xpo_prep_reply_hdr (diff)
downloadkernel-qcow2-linux-323bee32e9bef14c6dd943ecc8e8cd373a9c94d9.tar.gz
kernel-qcow2-linux-323bee32e9bef14c6dd943ecc8e8cd373a9c94d9.tar.xz
kernel-qcow2-linux-323bee32e9bef14c6dd943ecc8e8cd373a9c94d9.zip
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')
-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 @@
#include <linux/sunrpc/svc.h>
struct svc_xprt_ops {
+ int (*xpo_has_wspace)(struct svc_xprt *);
int (*xpo_recvfrom)(struct svc_rqst *);
void (*xpo_prep_reply_hdr)(struct svc_rqst *);
int (*xpo_sendto)(struct svc_rqst *);