From: Adam Kwolek Date: Wed, 12 Jan 2011 23:16:07 +0000 (+1100) Subject: imsm: FIX: spares are not counted X-Git-Tag: mdadm-3.2~86 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04c3c514136a7bbda05def7538f6dfae5be8b14d;p=thirdparty%2Fmdadm.git 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 --- diff --git a/super-intel.c b/super-intel.c index d091d17e..34e03c38 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++;