diff options
author | Heinz Mauelshagen <heinzm@redhat.com> | 2025-06-16 16:50:05 +0200 |
---|---|---|
committer | Mikulas Patocka <mpatocka@redhat.com> | 2025-06-23 12:35:37 +0200 |
commit | 9de4a3967caf1865a95aebdd63fccf213d174ede (patch) | |
tree | e413b9ad7a7ab3ab7bb5ff0ac73ca478c94fa306 | |
parent | 75227ed6812cb869380c8fb6d41a845ae571781e (diff) |
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 <heinzm@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
-rw-r--r-- | drivers/md/dm-raid.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index d296770478b2..c4fa8e0e76d2 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)) |