From: NeilBrown Date: Tue, 17 Jan 2006 06:14:57 +0000 (-0800) Subject: [PATCH] md: Clear clevel whenever level is set. X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=17115e0388ece8d7141c0282c88e7dfc61953f92;p=openwrt%2Fstaging%2Fblogic.git [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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- 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