From: NeilBrown Date: Tue, 10 Mar 2009 05:28:22 +0000 (+1100) Subject: DDF: fix up container_content X-Git-Tag: mdadm-3.0-devel3~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc17324f5e0fd1631bfd9a8d749a34a94da4e621;p=thirdparty%2Fmdadm.git DDF: fix up container_content If we haven't got hold of all the devices yet, we need to be ready to skip over some while gathering content information. Signed-off-by: NeilBrown --- diff --git a/super-ddf.c b/super-ddf.c index 009fbfb6..965b8e2c 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -2916,13 +2916,14 @@ 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; if (d == NULL) - break; + /* Haven't found that one yet, maybe there are others */ + continue; + + this->array.working_disks++; dev = malloc(sizeof(*dev)); memset(dev, 0, sizeof(*dev));