aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svc.c
diff options
context:
space:
mode:
authorTom Tucker <tom@opengridcomputing.com>2007-12-30 22:07:21 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:08 -0500
commit490231558e058547da4ffab6d8ce8e28771749cc (patch)
treeaac2eef69dbd262a755ee1cafec34787faf5d2f0 /net/sunrpc/svc.c
parent9f29868b491beee706931e0cf875a60cb4688754 (diff)
svc: Add a max payload value to the transport
The svc_max_payload function currently looks at the socket type to determine the max payload. Add a max payload value to svc_xprt_class so it can be returned directly. 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 'net/sunrpc/svc.c')
-rw-r--r--net/sunrpc/svc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index 4ad5fbbb18b4..94eed9b80038 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1055,10 +1055,8 @@ err_bad:
1055 */ 1055 */
1056u32 svc_max_payload(const struct svc_rqst *rqstp) 1056u32 svc_max_payload(const struct svc_rqst *rqstp)
1057{ 1057{
1058 int max = RPCSVC_MAXPAYLOAD_TCP; 1058 u32 max = rqstp->rq_xprt->xpt_class->xcl_max_payload;
1059 1059
1060 if (rqstp->rq_sock->sk_sock->type == SOCK_DGRAM)
1061 max = RPCSVC_MAXPAYLOAD_UDP;
1062 if (rqstp->rq_server->sv_max_payload < max) 1060 if (rqstp->rq_server->sv_max_payload < max)
1063 max = rqstp->rq_server->sv_max_payload; 1061 max = rqstp->rq_server->sv_max_payload;
1064 return max; 1062 return max;