From 870762d8e3a585ffe501b74e22abab66965fca55 Mon Sep 17 00:00:00 2001 From: Jonathan Earl Brassow Date: Thu, 23 Feb 2012 17:36:35 +0000 Subject: Require number of stripes to be greater than parity devices in higher RAID. Also, add some comments to code that I recently added that may be unclear otherwise. --- tools/lvcreate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'tools/lvcreate.c') diff --git a/tools/lvcreate.c b/tools/lvcreate.c index 7d3a5b0f..ebc1a0ec 100644 --- a/tools/lvcreate.c +++ b/tools/lvcreate.c @@ -485,9 +485,10 @@ static int _read_raid_params(struct lvcreate_params *lp, * * For RAID 4/5/6, these values must be set. */ - if (!segtype_is_mirrored(lp->segtype) && (lp->stripes < 2)) { - log_error("Number of stripes to %s not specified", - lp->segtype->name); + if (!segtype_is_mirrored(lp->segtype) && + (lp->stripes <= lp->segtype->parity_devs)) { + log_error("Number of stripes must be at least %d for %s", + lp->segtype->parity_devs + 1, lp->segtype->name); return 0; } -- cgit