From 4e4cb0a2d4061270af0ea844f0aebee4299cb8b1 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Mon, 10 Jul 2006 04:44:14 -0700 Subject: [PATCH] --- yaml --- r: 32233 b: refs/heads/master c: 31b65a0d3894566191b91fbadd122c354a363b5d h: refs/heads/master i: 32231: bbbb3eba10f60650334989145acfdf7ff6646e28 v: v3 --- [refs] | 2 +- trunk/drivers/md/md.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ec0914a824ef..200974093848 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f4370781d83cd2e52eb515e4663155e8091e4d4e +refs/heads/master: 31b65a0d3894566191b91fbadd122c354a363b5d diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index e4e161372a3e..9f76e0cd7805 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -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 */