Browse Source

md: always update level / chunk_size / layout when writing v1.x metadata.

We previously didn't update these fields when writing the metadata
because they could never change.  They can now, so we better write
them.
v0.90 metadata always updated these fields.

Signed-off-by: NeilBrown <neilb@suse.de>
NeilBrown 16 years ago
parent
commit
62e1e389f8
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/md/md.c

+ 3 - 0
drivers/md/md.c

@@ -1375,6 +1375,9 @@ static void super_1_sync(mddev_t *mddev, mdk_rdev_t *rdev)
 
 
 	sb->raid_disks = cpu_to_le32(mddev->raid_disks);
 	sb->raid_disks = cpu_to_le32(mddev->raid_disks);
 	sb->size = cpu_to_le64(mddev->dev_sectors);
 	sb->size = cpu_to_le64(mddev->dev_sectors);
+	sb->chunksize = cpu_to_le32(mddev->chunk_size >> 9);
+	sb->level = cpu_to_le32(mddev->level);
+	sb->layout = cpu_to_le32(mddev->layout);
 
 
 	if (mddev->bitmap && mddev->bitmap_file == NULL) {
 	if (mddev->bitmap && mddev->bitmap_file == NULL) {
 		sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_offset);
 		sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_offset);