diff options
author | Jonathan Earl Brassow <jbrassow@redhat.com> | 2012-02-23 17:36:35 +0000 |
---|---|---|
committer | Jonathan Earl Brassow <jbrassow@redhat.com> | 2012-02-23 17:36:35 +0000 |
commit | 870762d8e3a585ffe501b74e22abab66965fca55 (patch) | |
tree | 7d3e6e9ef0f559171d8c665cff8eded38a350a3a /tools/lvcreate.c | |
parent | d4836062ff55800080de0279bac491291ab75621 (diff) | |
download | lvm2-870762d8e3a585ffe501b74e22abab66965fca55.tar.gz lvm2-870762d8e3a585ffe501b74e22abab66965fca55.tar.xz lvm2-870762d8e3a585ffe501b74e22abab66965fca55.zip |
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.
Diffstat (limited to 'tools/lvcreate.c')
-rw-r--r-- | tools/lvcreate.c | 7 |
1 files changed, 4 insertions, 3 deletions
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; } |