From 04c3c514136a7bbda05def7538f6dfae5be8b14d Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Thu, 13 Jan 2011 10:16:07 +1100 Subject: [PATCH] imsm: FIX: spares are not counted Field info->array.spare_disks is used on begin of reshape_array() to check if there is enough number of spares to process reshape. During container_content_imsm() call spare disks are not counted. This causes that reshape_array() reports that there is not enough spares to execute reshape. Patch adds spares counting for reshape process. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- super-intel.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/super-intel.c b/super-intel.c index d091d17..34e03c3 100644 --- a/super-intel.c +++ b/super-intel.c @@ -4632,9 +4632,13 @@ static struct mdinfo *container_content_imsm(struct supertype *st, char *subarra if (map2) { if (slot < map2->num_members) info_d->disk.state = (1 << MD_DISK_ACTIVE); + else + this->array.spare_disks++; } else { if (slot < map->num_members) info_d->disk.state = (1 << MD_DISK_ACTIVE); + else + this->array.spare_disks++; } if (info_d->recovery_start == MaxSector) this->array.working_disks++;