From: Heinz Mauelshagen Date: Mon, 16 Jun 2025 14:50:05 +0000 (+0200) Subject: dm raid: add support for resync w/o metadata devices X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9de4a3967caf1865a95aebdd63fccf213d174ede;p=thirdparty%2Fkernel%2Flinux.git dm raid: add support for resync w/o metadata devices Target does not honour the "sync" argument when activated w/o metadata devices, e.g. with table line: "0 $(blockdev --getsz $data1) raid raid1 2 0 sync 2 - $data1 - $data2". Fix this to support temporary, transient raid devices useful for data duplication. Signed-off-by: Heinz Mauelshagen Signed-off-by: Mikulas Patocka --- diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index d296770478b29..c4fa8e0e76d28 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c @@ -2532,6 +2532,10 @@ static int analyse_superblocks(struct dm_target *ti, struct raid_set *rs) struct md_rdev *rdev, *freshest; struct mddev *mddev = &rs->md; + /* Respect resynchronization requested with "sync" argument. */ + if (test_bit(__CTR_FLAG_SYNC, &rs->ctr_flags)) + set_bit(MD_ARRAY_FIRST_USE, &mddev->flags); + freshest = NULL; rdev_for_each(rdev, mddev) { if (test_bit(Journal, &rdev->flags))