lkml.org 
[lkml]   [2019]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 108/117] xprtrdma: Fix helper that drains the transport
    Date
    From: Chuck Lever <chuck.lever@oracle.com>

    commit e1ede312f17e96a9c5cda9aaa1cdcf442c1a5da8 upstream.

    We want to drain only the RQ first. Otherwise the transport can
    deadlock on ->close if there are outstanding Send completions.

    Fixes: 6d2d0ee27c7a ("xprtrdma: Replace rpcrdma_receive_wq ... ")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Cc: stable@vger.kernel.org # v5.0+
    Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/sunrpc/xprtrdma/verbs.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/sunrpc/xprtrdma/verbs.c
    +++ b/net/sunrpc/xprtrdma/verbs.c
    @@ -90,7 +90,7 @@ static void rpcrdma_xprt_drain(struct rp
    /* Flush Receives, then wait for deferred Reply work
    * to complete.
    */
    - ib_drain_qp(ia->ri_id->qp);
    + ib_drain_rq(ia->ri_id->qp);
    drain_workqueue(buf->rb_completion_wq);

    /* Deferred Reply processing might have scheduled

    \
     
     \ /
      Last update: 2019-04-15 21:14    [W:4.040 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site