SUNRPC: Handle ENOMEM in call_transmit_status()
[ Upstream commit d3c15033b240767d0287f1c4a529cbbe2d5ded8a ]
Both call_transmit() and call_bc_transmit() can now return ENOMEM, so
let's make sure that we handle the errors gracefully.
Fixes: 0472e47660
("SUNRPC: Convert socket page send code to use iov_iter()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
aed30a2054
commit
132cbe2f18
@@ -2175,6 +2175,7 @@ call_transmit_status(struct rpc_task *task)
|
|||||||
* socket just returned a connection error,
|
* socket just returned a connection error,
|
||||||
* then hold onto the transport lock.
|
* then hold onto the transport lock.
|
||||||
*/
|
*/
|
||||||
|
case -ENOMEM:
|
||||||
case -ENOBUFS:
|
case -ENOBUFS:
|
||||||
rpc_delay(task, HZ>>2);
|
rpc_delay(task, HZ>>2);
|
||||||
fallthrough;
|
fallthrough;
|
||||||
@@ -2258,6 +2259,7 @@ call_bc_transmit_status(struct rpc_task *task)
|
|||||||
case -ENOTCONN:
|
case -ENOTCONN:
|
||||||
case -EPIPE:
|
case -EPIPE:
|
||||||
break;
|
break;
|
||||||
|
case -ENOMEM:
|
||||||
case -ENOBUFS:
|
case -ENOBUFS:
|
||||||
rpc_delay(task, HZ>>2);
|
rpc_delay(task, HZ>>2);
|
||||||
fallthrough;
|
fallthrough;
|
||||||
|
Reference in New Issue
Block a user