diff options
author | NeilBrown <neilb@suse.de> | 2009-03-10 16:28:22 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-10 16:28:22 +1100 |
commit | bc17324f5e0fd1631bfd9a8d749a34a94da4e621 (patch) | |
tree | 3260e3d3797eef95e1f3a2ff9a484e5e046afb6b /super-ddf.c | |
parent | bb50e5d38319fbb243d1a20151e0f00f3f209817 (diff) | |
download | mdadm-bc17324f5e0fd1631bfd9a8d749a34a94da4e621.tar.gz mdadm-bc17324f5e0fd1631bfd9a8d749a34a94da4e621.tar.xz mdadm-bc17324f5e0fd1631bfd9a8d749a34a94da4e621.zip |
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 <neilb@suse.de>
Diffstat (limited to 'super-ddf.c')
-rw-r--r-- | super-ddf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/super-ddf.c b/super-ddf.c index 009fbfb..965b8e2 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)); |