lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0005/1157] pNFS/flexfiles: Report RDMA connection errors to the server
    Date
    From: Trond Myklebust <trond.myklebust@hammerspace.com>

    commit 7836d75467e9d214bdf5c693b32721de729a6e38 upstream.

    The RPC/RDMA driver will return -EPROTO and -ENODEV as connection errors
    under certain circumstances. Make sure that we handle them and report
    them to the server. If not, we can end up cycling forever in a
    LAYOUTGET/LAYOUTRETURN loop.

    Fixes: a12f996d3413 ("NFSv4/pNFS: Use connections to a DS that are all of the same protocol family")
    Cc: stable@vger.kernel.org # 5.11.x
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/nfs/flexfilelayout/flexfilelayout.c | 4 ++++
    1 file changed, 4 insertions(+)

    --- a/fs/nfs/flexfilelayout/flexfilelayout.c
    +++ b/fs/nfs/flexfilelayout/flexfilelayout.c
    @@ -1131,6 +1131,8 @@ static int ff_layout_async_handle_error_
    case -EIO:
    case -ETIMEDOUT:
    case -EPIPE:
    + case -EPROTO:
    + case -ENODEV:
    dprintk("%s DS connection error %d\n", __func__,
    task->tk_status);
    nfs4_delete_deviceid(devid->ld, devid->nfs_client,
    @@ -1236,6 +1238,8 @@ static void ff_layout_io_track_ds_error(
    case -ENOBUFS:
    case -EPIPE:
    case -EPERM:
    + case -EPROTO:
    + case -ENODEV:
    *op_status = status = NFS4ERR_NXIO;
    break;
    case -EACCES:

    \
     
     \ /
      Last update: 2022-08-15 23:48    [W:2.583 / U:1.884 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site