fs: dlm: cancel work sync othercon
authorAlexander Aring <aahringo@redhat.com>
Fri, 21 May 2021 19:08:38 +0000 (15:08 -0400)
committerDavid Teigland <teigland@redhat.com>
Tue, 25 May 2021 14:22:20 +0000 (09:22 -0500)
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>
fs/dlm/lowcomms.c

index 051f22dbb83aa24c0ef0c4df5fff4fd9b2dda246..0a4851b3cd4b89457270607c3e200c282367c937 100644 (file)
@@ -715,7 +715,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;