diff options
author | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:58 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-05-27 09:18:58 +1000 |
commit | 60f18132be82eabf4a44d7014a0f38114da43e53 (patch) | |
tree | 323214cb0e8a4ab0932017d4d473781d115cf7b6 /super-ddf.c | |
parent | cba0191bad1617bdbc43c4a9dc2ad8c0a10f5d02 (diff) | |
download | mdadm-60f18132be82eabf4a44d7014a0f38114da43e53.tar.gz mdadm-60f18132be82eabf4a44d7014a0f38114da43e53.tar.xz mdadm-60f18132be82eabf4a44d7014a0f38114da43e53.zip |
Fix some stuff.
Diffstat (limited to 'super-ddf.c')
-rw-r--r-- | super-ddf.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/super-ddf.c b/super-ddf.c index 8af85bd..bc19674 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -899,7 +899,8 @@ static struct num_mapping ddf_level_num[] = { { DDF_RAID0, 0 }, { DDF_RAID1, 1 }, { DDF_RAID3, LEVEL_UNSUPPORTED }, - { DDF_RAID5, 4 }, + { DDF_RAID4, 4 }, + { DDF_RAID5, 5 }, { DDF_RAID1E, LEVEL_UNSUPPORTED }, { DDF_JBOD, LEVEL_UNSUPPORTED }, { DDF_CONCAT, LEVEL_LINEAR }, @@ -2399,8 +2400,8 @@ static struct mdinfo *container_content_ddf(struct supertype *st) this->array.level = map_num1(ddf_level_num, vc->conf.prl); this->array.raid_disks = __be16_to_cpu(vc->conf.prim_elmnt_count); - /* FIXME this should be mapped */ - this->array.layout = vc->conf.rlq; + this->array.layout = rlq_to_layout(vc->conf.rlq, vc->conf.prl, + this->array.raid_disks); this->array.md_minor = -1; this->array.ctime = DECADE + __be32_to_cpu(*(__u32*)(vc->conf.guid+16)); @@ -2429,6 +2430,11 @@ static struct mdinfo *container_content_ddf(struct supertype *st) this->array.size = this->component_size / 2; this->container_member = i; + sprintf(this->text_version, "/%s/%d", + devnum2devname(st->container_dev), + this->container_member); + + mppe = __be16_to_cpu(ddf->anchor.max_primary_element_entries); for (i=0 ; i < mppe ; i++) { struct mdinfo *dev; |