fs: dlm: start midcomms before scand
authorAlexander Aring <aahringo@redhat.com>
Thu, 12 Jan 2023 22:10:31 +0000 (17:10 -0500)
committerDavid Teigland <teigland@redhat.com>
Mon, 23 Jan 2023 18:43:53 +0000 (12:43 -0600)
The scand kthread can send dlm messages out, especially dlm remove
messages to free memory for unused rsb on other nodes. To send out dlm
messages, midcomms must be initialized. This patch moves the midcomms
start before scand is started.

Cc: stable@vger.kernel.org
Fixes: e7fd41792fc0 ("[DLM] The core of the DLM for GFS2/CLVM")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/lockspace.c

index d0b4e2181a5f38a8551bea8ee4f03197923a9a5b..99bc96f9077996893cd7727d01676af525df70df 100644 (file)
@@ -381,23 +381,23 @@ static int threads_start(void)
 {
        int error;
 
-       error = dlm_scand_start();
+       /* Thread for sending/receiving messages for all lockspace's */
+       error = dlm_midcomms_start();
        if (error) {
-               log_print("cannot start dlm_scand thread %d", error);
+               log_print("cannot start dlm midcomms %d", error);
                goto fail;
        }
 
-       /* Thread for sending/receiving messages for all lockspace's */
-       error = dlm_midcomms_start();
+       error = dlm_scand_start();
        if (error) {
-               log_print("cannot start dlm midcomms %d", error);
-               goto scand_fail;
+               log_print("cannot start dlm_scand thread %d", error);
+               goto midcomms_fail;
        }
 
        return 0;
 
scand_fail:
-       dlm_scand_stop();
midcomms_fail:
+       dlm_midcomms_stop();
  fail:
        return error;
 }