summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
diff options
context:
space:
mode:
authorNeilBrown2009-03-31 05:57:09 +0200
committerNeilBrown2009-03-31 05:57:09 +0200
commite9d4758f6e93488dc719a1445ce54659a570938f (patch)
tree13fb97a1f47f806b25b957cbf9d1ec69df8d0de8 /drivers/md/raid5.c
parentmd/raid5: allow layout/chunksize to be changed on an active 2-drive raid5. (diff)
downloadkernel-qcow2-linux-e9d4758f6e93488dc719a1445ce54659a570938f.tar.gz
kernel-qcow2-linux-e9d4758f6e93488dc719a1445ce54659a570938f.tar.xz
kernel-qcow2-linux-e9d4758f6e93488dc719a1445ce54659a570938f.zip
md: add takeover support for raid4 -> raid5 conversion.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r--drivers/md/raid5.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 8a5e14e4a851..95953273c4d9 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -4967,6 +4967,11 @@ static void *raid5_takeover(mddev_t *mddev)
if (mddev->level == 1)
return raid5_takeover_raid1(mddev);
+ if (mddev->level == 4) {
+ mddev->new_layout = ALGORITHM_PARITY_N;
+ mddev->new_level = 5;
+ return setup_conf(mddev);
+ }
return ERR_PTR(-EINVAL);
}