lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 180/593] fs: dlm: cancel work sync othercon
    Date
    From: Alexander Aring <aahringo@redhat.com>

    [ Upstream commit c6aa00e3d20c2767ba3f57b64eb862572b9744b3 ]

    These rx tx flags arguments are for signaling close_connection() from
    which worker they are called. Obviously the receive worker cannot cancel
    itself and vice versa for swork. For the othercon the receive worker
    should only be used, however to avoid deadlocks we should pass the same
    flags as the original close_connection() was called.

    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Signed-off-by: David Teigland <teigland@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/dlm/lowcomms.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
    index 44e2716ac158..0c78fdfb1f6f 100644
    --- a/fs/dlm/lowcomms.c
    +++ b/fs/dlm/lowcomms.c
    @@ -599,7 +599,7 @@ static void close_connection(struct connection *con, bool and_other,
    }
    if (con->othercon && and_other) {
    /* Will only re-enter once. */
    - close_connection(con->othercon, false, true, true);
    + close_connection(con->othercon, false, tx, rx);
    }

    con->rx_leftover = 0;
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 08:52    [W:4.092 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site