|
@@ -2541,11 +2541,6 @@ static int analyse_superblocks(struct dm_target *ti, struct raid_set *rs)
|
|
if (!freshest)
|
|
if (!freshest)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- if (validate_raid_redundancy(rs)) {
|
|
|
|
- rs->ti->error = "Insufficient redundancy to activate array";
|
|
|
|
- return -EINVAL;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Validation of the freshest device provides the source of
|
|
* Validation of the freshest device provides the source of
|
|
* validation for the remaining devices.
|
|
* validation for the remaining devices.
|
|
@@ -2554,6 +2549,11 @@ static int analyse_superblocks(struct dm_target *ti, struct raid_set *rs)
|
|
if (super_validate(rs, freshest))
|
|
if (super_validate(rs, freshest))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
|
|
+ if (validate_raid_redundancy(rs)) {
|
|
|
|
+ rs->ti->error = "Insufficient redundancy to activate array";
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ }
|
|
|
|
+
|
|
rdev_for_each(rdev, mddev)
|
|
rdev_for_each(rdev, mddev)
|
|
if (!test_bit(Journal, &rdev->flags) &&
|
|
if (!test_bit(Journal, &rdev->flags) &&
|
|
rdev != freshest &&
|
|
rdev != freshest &&
|