]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
DDF: fix up container_content
authorNeilBrown <neilb@suse.de>
Tue, 10 Mar 2009 05:28:22 +0000 (16:28 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 10 Mar 2009 05:28:22 +0000 (16:28 +1100)
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 <neilb@suse.de>
super-ddf.c

index 009fbfb6e8e20fcc215eb1d98d228c532481cc03..965b8e2cd10a311decbed16bcb89aae5ac5a7f4f 100644 (file)
@@ -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));