Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a78d38a1 authored by NeilBrown's avatar NeilBrown
Browse files

md: add support for raid5 to raid4 conversion



This is unlikely to be wanted, but we may as well provide it
for completeness.

Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent 5cac7861
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -5788,6 +5788,18 @@ static void *raid5_takeover(mddev_t *mddev)
	return ERR_PTR(-EINVAL);
}

static void *raid4_takeover(mddev_t *mddev)
{
	/* raid4 can take over raid5 if layout is right.
	 */
	if (mddev->level == 5 &&
	    mddev->layout == ALGORITHM_PARITY_N) {
		mddev->new_layout = 0;
		mddev->new_level = 4;
		return setup_conf(mddev);
	}
	return ERR_PTR(-EINVAL);
}

static struct mdk_personality raid5_personality;

@@ -5903,6 +5915,7 @@ static struct mdk_personality raid4_personality =
	.start_reshape  = raid5_start_reshape,
	.finish_reshape = raid5_finish_reshape,
	.quiesce	= raid5_quiesce,
	.takeover	= raid4_takeover,
};

static int __init raid5_init(void)