]> git.baikalelectronics.ru Git - kernel.git/commitdiff
fs: dlm: start midcomms before scand
authorAlexander Aring <aahringo@redhat.com>
Thu, 12 Jan 2023 22:10:31 +0000 (17:10 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 07:50:18 +0000 (08:50 +0100)
[ Upstream commit 5282c6801f3b92cfdf91955f75f75b337c1fd0c8 ]

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: ae5bef69e6aa ("[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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/dlm/lockspace.c

index c3cf2e7996f6cd7a7324742891cac5d2a29fe098..7b29ea7bfb416f4164a253ecb69f67982eddcce8 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;
 }