fs: dlm: move state change into else branch
authorAlexander Aring <aahringo@redhat.com>
Thu, 12 Jan 2023 22:18:48 +0000 (17:18 -0500)
committerDavid Teigland <teigland@redhat.com>
Mon, 23 Jan 2023 22:27:27 +0000 (16:27 -0600)
Currently we can switch at first into DLM_CLOSE_WAIT state and then do
another state change if a condition is true. Instead of doing two state
changes we handle the other state change inside an else branch of this
condition.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/midcomms.c

index 7827d049378ca1dd50d6d7f849627fa6dc1f54a2..69e6f4705ebc460bb9b3e279e6dfd122e2a0aa93 100644 (file)
@@ -506,9 +506,6 @@ static void dlm_midcomms_receive_buffer(union dlm_packet *p,
                        case DLM_ESTABLISHED:
                                dlm_send_ack(node->nodeid, node->seq_next);
 
-                               node->state = DLM_CLOSE_WAIT;
-                               pr_debug("switch node %d to state %s\n",
-                                        node->nodeid, dlm_state_str(node->state));
                                /* passive shutdown DLM_LAST_ACK case 1
                                 * additional we check if the node is used by
                                 * cluster manager events at all.
@@ -519,6 +516,10 @@ static void dlm_midcomms_receive_buffer(union dlm_packet *p,
                                                 node->nodeid, dlm_state_str(node->state));
                                        set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags);
                                        dlm_send_fin(node, dlm_pas_fin_ack_rcv);
+                               } else {
+                                       node->state = DLM_CLOSE_WAIT;
+                                       pr_debug("switch node %d to state %s\n",
+                                                node->nodeid, dlm_state_str(node->state));
                                }
                                break;
                        case DLM_FIN_WAIT1: