From 9de4a3967caf1865a95aebdd63fccf213d174ede Mon Sep 17 00:00:00 2001 From: Heinz Mauelshagen Date: Mon, 16 Jun 2025 16:50:05 +0200 Subject: [PATCH] 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 --- drivers/md/dm-raid.c | 4 ++++ 1 file changed, 4 insertions(+) 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)) -- 2.47.2