aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-05-26 09:40:59 +1000
committerNeilBrown <neilb@suse.de>2009-05-26 09:40:59 +1000
commit62e1e389f87a8839ad83b08c44691d1df8320846 (patch)
treed8915df95d7164188334052b31ffe7ac40aa4e94 /drivers/md
parent59a3759d0fe8d969888c741bb33f4946e4d3750d (diff)
downloadkernel_goldelico_gta04-62e1e389f87a8839ad83b08c44691d1df8320846.zip
kernel_goldelico_gta04-62e1e389f87a8839ad83b08c44691d1df8320846.tar.gz
kernel_goldelico_gta04-62e1e389f87a8839ad83b08c44691d1df8320846.tar.bz2
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>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index fccc834..aa79d55 100644
--- a/drivers/md/md.c
+++ b/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->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) {
sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_offset);