diff --git a/WHATS_NEW b/WHATS_NEW index b122b6834..a1f598030 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.89 - ================================== + Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg. Cleanup restart clvmd code (no memory allocation, debug print passed args). Add all exclusive locks to clvmd restart option args. Always send the whole clvmd packet header in refresh commands. diff --git a/tools/lvcreate.c b/tools/lvcreate.c index ec120f593..c9897e6fa 100644 --- a/tools/lvcreate.c +++ b/tools/lvcreate.c @@ -618,8 +618,13 @@ static int _lvcreate_params(struct lvcreate_params *lp, if (arg_count(cmd, mirrors_ARG)) { lp->mirrors = arg_uint_value(cmd, mirrors_ARG, 0) + 1; - if (lp->mirrors == 1) + if (lp->mirrors == 1) { + if (segtype_is_mirrored(lp->segtype)) { + log_error("Image count for segtype \"%s\" cannot be 0.", lp->segtype->name); + return 0; + } log_print("Redundant mirrors argument: default is 0"); + } if (arg_sign_value(cmd, mirrors_ARG, 0) == SIGN_MINUS) { log_error("Mirrors argument may not be negative"); return 0;