[PATCH] SUNRPC: don't reencode when looping in call transmit.
authorTrond Myklebust <trond.myklebust@fys.uio.no>
Thu, 10 Nov 2005 02:45:24 +0000 (21:45 -0500)
committerLinus Torvalds <torvalds@g5.osdl.org>
Thu, 10 Nov 2005 03:31:33 +0000 (19:31 -0800)
commit940e3318c36394939d805e797d7be39ddaaa7911
treeaa0bab66b2bde96f01150504909d3ef5de41a7d1
parente4d76e1c0b15590f2ad9bba89426c2520cd22ca6
[PATCH] SUNRPC: don't reencode when looping in call transmit.

If the call to xprt_transmit() fails due to socket buffer space
exhaustion, we do not need to re-encode the RPC message when we
loop back through call_transmit.

Re-encoding can actually end up triggering the WARN_ON() in
call_decode() if we re-encode something like a read() request and
auth->au_rslack has changed.
It can also cause us to increment the RPCSEC_GSS sequence number
beyond the limits of the allowed window.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
net/sunrpc/clnt.c