Commit 431794e6 authored by Trond Myklebust's avatar Trond Myklebust

pNFS/files: Handle RDMA connection errors correctly

The RPC/RDMA driver will return -EPROTO and -ENODEV as connection errors
under certain circumstances. Make sure that we handle them correctly and
avoid cycling forever in a LAYOUTGET/LAYOUTRETURN loop.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 7836d754
...@@ -181,6 +181,8 @@ static int filelayout_async_handle_error(struct rpc_task *task, ...@@ -181,6 +181,8 @@ static int filelayout_async_handle_error(struct rpc_task *task,
case -EIO: case -EIO:
case -ETIMEDOUT: case -ETIMEDOUT:
case -EPIPE: case -EPIPE:
case -EPROTO:
case -ENODEV:
dprintk("%s DS connection error %d\n", __func__, dprintk("%s DS connection error %d\n", __func__,
task->tk_status); task->tk_status);
nfs4_mark_deviceid_unavailable(devid); nfs4_mark_deviceid_unavailable(devid);
......
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