]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
md: suppress spurious superblock update error message for dm-raid
authorChen Cheng <chencheng@fnnas.com>
Tue, 10 Feb 2026 13:38:47 +0000 (21:38 +0800)
committerYu Kuai <yukuai@fnnas.com>
Sun, 15 Mar 2026 17:24:59 +0000 (01:24 +0800)
dm-raid has external metadata management (mddev->external = 1) and
no persistent superblock (mddev->persistent = 0). For these arrays,
there's no superblock to update, so the error message is spurious.

The error appears as:
md_update_sb: can't update sb for read-only array md0

Fixes: 8c9e376b9d1a ("md: warn about updating super block failure")
Reported-by: Tj <tj.iam.tj@proton.me>
Closes: https://lore.kernel.org/all/20260128082430.96788-1-tj.iam.tj@proton.me/
Signed-off-by: Chen Cheng <chencheng@fnnas.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Link: https://lore.kernel.org/linux-raid/20260210133847.269986-1-chencheng@fnnas.com
Signed-off-by: Yu Kuai <yukuai@fnnas.com>
drivers/md/md.c

index 3ce6f9e9d38e6e28d3fe37e72b8f5aef48ab1721..c2cc2302d727d6bfc28eeac2dc2e74ced34b4095 100644 (file)
@@ -2788,7 +2788,9 @@ void md_update_sb(struct mddev *mddev, int force_change)
        if (!md_is_rdwr(mddev)) {
                if (force_change)
                        set_bit(MD_SB_CHANGE_DEVS, &mddev->sb_flags);
-               pr_err("%s: can't update sb for read-only array %s\n", __func__, mdname(mddev));
+               if (!mddev_is_dm(mddev))
+                       pr_err_ratelimited("%s: can't update sb for read-only array %s\n",
+                                          __func__, mdname(mddev));
                return;
        }