|
@@ -1062,6 +1062,11 @@ static int super_1_load(mdk_rdev_t *rdev, mdk_rdev_t *refdev, int minor_version)
|
|
|
if (rdev->sb_size & bmask)
|
|
|
rdev-> sb_size = (rdev->sb_size | bmask)+1;
|
|
|
|
|
|
+ if (sb->level == cpu_to_le32(LEVEL_MULTIPATH))
|
|
|
+ rdev->desc_nr = -1;
|
|
|
+ else
|
|
|
+ rdev->desc_nr = le32_to_cpu(sb->dev_number);
|
|
|
+
|
|
|
if (refdev == 0)
|
|
|
ret = 1;
|
|
|
else {
|
|
@@ -1171,7 +1176,6 @@ static int super_1_validate(mddev_t *mddev, mdk_rdev_t *rdev)
|
|
|
}
|
|
|
if (mddev->level != LEVEL_MULTIPATH) {
|
|
|
int role;
|
|
|
- rdev->desc_nr = le32_to_cpu(sb->dev_number);
|
|
|
role = le16_to_cpu(sb->dev_roles[rdev->desc_nr]);
|
|
|
switch(role) {
|
|
|
case 0xffff: /* spare */
|