Commit d3c15033 authored by Trond Myklebust's avatar Trond Myklebust

SUNRPC: Handle ENOMEM in call_transmit_status()

Both call_transmit() and call_bc_transmit() can now return ENOMEM, so
let's make sure that we handle the errors gracefully.

Fixes: 0472e476 ("SUNRPC: Convert socket page send code to use iov_iter()")
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent dcc7977c
...@@ -2200,6 +2200,7 @@ call_transmit_status(struct rpc_task *task) ...@@ -2200,6 +2200,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;
...@@ -2283,6 +2284,7 @@ call_bc_transmit_status(struct rpc_task *task) ...@@ -2283,6 +2284,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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment