From: NeilBrown Date: Tue, 7 Apr 2009 07:41:55 +0000 (+1000) Subject: ddf: fixed 'working_disks' reported by container_content. X-Git-Tag: mdadm-3.0-rc1~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0d50ca58423168f2b86ba674227a9bbc33e1501;p=thirdparty%2Fmdadm.git ddf: fixed 'working_disks' reported by container_content. The 'work_disks' number should be the number that is expected, not the number found so far. This is needed for Incremental assembly to start the array at the right time. Signed-off-by: NeilBrown --- diff --git a/super-ddf.c b/super-ddf.c index 8ab35972..93c8f06d 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -2918,6 +2918,8 @@ static struct mdinfo *container_content_ddf(struct supertype *st) if (vc->conf.phys_refnum[i] == 0xFFFFFFFF) continue; + this->array.working_disks++; + for (d = ddf->dlist; d ; d=d->next) if (d->disk.refnum == vc->conf.phys_refnum[i]) break; @@ -2925,8 +2927,6 @@ static struct mdinfo *container_content_ddf(struct supertype *st) /* Haven't found that one yet, maybe there are others */ continue; - this->array.working_disks++; - dev = malloc(sizeof(*dev)); memset(dev, 0, sizeof(*dev)); dev->next = this->devs;