diff options
Diffstat (limited to 'net/sunrpc/svc.c')
-rw-r--r-- | net/sunrpc/svc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index f4a509a925b5..b252401c8601 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
@@ -919,3 +919,18 @@ err_bad: | |||
919 | svc_putnl(resv, ntohl(rpc_stat)); | 919 | svc_putnl(resv, ntohl(rpc_stat)); |
920 | goto sendit; | 920 | goto sendit; |
921 | } | 921 | } |
922 | |||
923 | /* | ||
924 | * Return (transport-specific) limit on the rpc payload. | ||
925 | */ | ||
926 | u32 svc_max_payload(const struct svc_rqst *rqstp) | ||
927 | { | ||
928 | int max = RPCSVC_MAXPAYLOAD_TCP; | ||
929 | |||
930 | if (rqstp->rq_sock->sk_sock->type == SOCK_DGRAM) | ||
931 | max = RPCSVC_MAXPAYLOAD_UDP; | ||
932 | if (rqstp->rq_server->sv_bufsz < max) | ||
933 | max = rqstp->rq_server->sv_bufsz; | ||
934 | return max; | ||
935 | } | ||
936 | EXPORT_SYMBOL_GPL(svc_max_payload); | ||