aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-01-16 22:14:57 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-16 23:15:32 -0800
commit17115e0388ece8d7141c0282c88e7dfc61953f92 (patch)
tree80009eb4e7158a6c57de447901a04de3f799135d
parent[PATCH] elevator=as back-compatibility (diff)
downloadlinux-dev-17115e0388ece8d7141c0282c88e7dfc61953f92.tar.xz
linux-dev-17115e0388ece8d7141c0282c88e7dfc61953f92.zip
[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: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/md/md.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 1778104e106c..7145cd150f7b 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3395,6 +3395,7 @@ static int set_array_info(mddev_t * mddev, mdu_array_info_t *info)
mddev->ctime = get_seconds();
mddev->level = info->level;
+ mddev->clevel[0] = 0;
mddev->size = info->size;
mddev->raid_disks = info->raid_disks;
/* don't set md_minor, it is determined by which /dev/md* was