]> www.infradead.org Git - users/jedix/linux-maple.git/commit
SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared
authorTrond Myklebust <Trond.Myklebust@netapp.com>
Tue, 22 Nov 2011 12:44:28 +0000 (14:44 +0200)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Fri, 16 Dec 2011 01:14:25 +0000 (17:14 -0800)
commitc37f38ef48ba3e156d8bb1b228b7066e07c0a690
treef9e344fb243ba722021d7ff5830ca03e660f8218
parent09a492f25abc5c00a5477b5aea69ea8c42dc1ed2
SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared

commit 24ca9a847791fd53d9b217330b15f3c285827a18 upstream.

By returning '0' instead of 'EAGAIN' when the tests in xs_nospace() fail
to find evidence of socket congestion, we are making the RPC engine believe
that the message was incorrectly sent and so it disconnects the socket
instead of just retrying.

The bug appears to have been introduced by commit
5e3771ce2d6a69e10fcc870cdf226d121d868491 (SUNRPC: Ensure that xs_nospace
return values are propagated).

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/sunrpc/xprtsock.c