Commit 17115e03 authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds

[PATCH] md: Clear clevel whenever level is set.

The 'level' of an md array can be set as either a number of a string.  When
one is set, the other must be marked 'undefined'.  This wasn't being done
in one place: where new arrays are created.

Result: if md1 is a raid1, it is stopped and a raid5 is created there, it
might still appear to be a raid1.
Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 4c264583
...@@ -3395,6 +3395,7 @@ static int set_array_info(mddev_t * mddev, mdu_array_info_t *info) ...@@ -3395,6 +3395,7 @@ static int set_array_info(mddev_t * mddev, mdu_array_info_t *info)
mddev->ctime = get_seconds(); mddev->ctime = get_seconds();
mddev->level = info->level; mddev->level = info->level;
mddev->clevel[0] = 0;
mddev->size = info->size; mddev->size = info->size;
mddev->raid_disks = info->raid_disks; mddev->raid_disks = info->raid_disks;
/* don't set md_minor, it is determined by which /dev/md* was /* don't set md_minor, it is determined by which /dev/md* was
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment