md: Fix removal of extra drives when converting RAID6 to RAID5
commit bf2cb0dab8c97f00a71875d9b13dbac17a2f47ca upstream. When a RAID6 is converted to a RAID5, the extra drive should be discarded. However it isn't due to a typo in a comparison. This bug was introduced in commit e93f68a1fc6 in 2.6.35-rc4 and is suitable for any -stable since than. As the extra drive is not removed, the 'degraded' counter is wrong and so the RAID5 will not respond correctly to a subsequent failure. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
2758704d68
commit
9d175349c0
@ -3117,7 +3117,7 @@ level_store(mddev_t *mddev, const char *buf, size_t len)
|
||||
char nm[20];
|
||||
if (rdev->raid_disk < 0)
|
||||
continue;
|
||||
if (rdev->new_raid_disk > mddev->raid_disks)
|
||||
if (rdev->new_raid_disk >= mddev->raid_disks)
|
||||
rdev->new_raid_disk = -1;
|
||||
if (rdev->new_raid_disk == rdev->raid_disk)
|
||||
continue;
|
||||
|
Loading…
x
Reference in New Issue
Block a user