From a3ee3236a9ee5de1357d7688795d4f19b4349c49 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 25 Jan 2024 13:59:36 -0800 Subject: [PATCH] 6.7-stable patches added patches: revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch --- ...t-for-md_sb_change_pending-in-raid5d.patch | 66 +++++++++++++++++++ queue-6.7/series | 1 + 2 files changed, 67 insertions(+) create mode 100644 queue-6.7/revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch diff --git a/queue-6.7/revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch b/queue-6.7/revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch new file mode 100644 index 00000000000..6b09a4bcc52 --- /dev/null +++ b/queue-6.7/revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch @@ -0,0 +1,66 @@ +From song@kernel.org Thu Jan 25 13:56:36 2024 +From: Song Liu +Date: Thu, 25 Jan 2024 00:21:31 -0800 +Subject: Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" +To: linux-raid@vger.kernel.org +Cc: yukuai1@huaweicloud.com, Song Liu , Dan Moulding , stable@vger.kernel.org, Junxiao Bi , Yu Kuai +Message-ID: <20240125082131.788600-1-song@kernel.org> + +From: Song Liu + +This reverts commit bed9e27baf52a09b7ba2a3714f1e24e17ced386d. + +The original set [1][2] was expected to undo a suboptimal fix in [2], and +replace it with a better fix [1]. However, as reported by Dan Moulding [2] +causes an issue with raid5 with journal device. + +Revert [2] for now to close the issue. We will follow up on another issue +reported by Juxiao Bi, as [2] is expected to fix it. We believe this is a +good trade-off, because the latter issue happens less freqently. + +In the meanwhile, we will NOT revert [1], as it contains the right logic. + +[1] commit d6e035aad6c0 ("md: bypass block throttle for superblock update") +[2] commit bed9e27baf52 ("Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"") + +Reported-by: Dan Moulding +Closes: https://lore.kernel.org/linux-raid/20240123005700.9302-1-dan@danm.net/ +Fixes: bed9e27baf52 ("Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"") +Cc: stable@vger.kernel.org # v5.19+ +Cc: Junxiao Bi +Cc: Yu Kuai +Signed-off-by: Song Liu +Signed-off-by: Greg Kroah-Hartman +--- + drivers/md/raid5.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/drivers/md/raid5.c ++++ b/drivers/md/raid5.c +@@ -36,6 +36,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -6819,7 +6820,18 @@ static void raid5d(struct md_thread *thr + spin_unlock_irq(&conf->device_lock); + md_check_recovery(mddev); + spin_lock_irq(&conf->device_lock); ++ ++ /* ++ * Waiting on MD_SB_CHANGE_PENDING below may deadlock ++ * seeing md_check_recovery() is needed to clear ++ * the flag when using mdmon. ++ */ ++ continue; + } ++ ++ wait_event_lock_irq(mddev->sb_wait, ++ !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags), ++ conf->device_lock); + } + pr_debug("%d stripes handled\n", handled); + diff --git a/queue-6.7/series b/queue-6.7/series index 77671422f16..19952d53f3e 100644 --- a/queue-6.7/series +++ b/queue-6.7/series @@ -637,3 +637,4 @@ i2c-s3c24xx-fix-read-transfers-in-polling-mode.patch i2c-s3c24xx-fix-transferring-more-than-one-message-i.patch revert-keys-encrypted-add-check-for-strsep.patch arm64-dts-armada-3720-turris-mox-set-irq-type-for-rtc.patch +revert-revert-md-raid5-wait-for-md_sb_change_pending-in-raid5d.patch -- 2.47.3