diff options
author | Tom Tucker <tom@opengridcomputing.com> | 2007-12-30 21:07:31 -0600 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2008-02-01 16:42:08 -0500 |
commit | 323bee32e9bef14c6dd943ecc8e8cd373a9c94d9 (patch) | |
tree | 5779a724dfcbe3aee1f06d9eb989931d1dcfa163 /include/linux | |
parent | e831fe65b10199e1e301a7316c66d6ced133712d (diff) | |
download | kernel_samsung_smdk4412-323bee32e9bef14c6dd943ecc8e8cd373a9c94d9.tar.gz kernel_samsung_smdk4412-323bee32e9bef14c6dd943ecc8e8cd373a9c94d9.tar.bz2 kernel_samsung_smdk4412-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.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 199cfcb9860..85df97acc2d 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 *); |