summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2016-02-25 22:44:31 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2016-02-25 23:29:57 +0100
commita68e601886e1c9b78345b4c33ce366451e2fe184 (patch)
treeee85090b95495401e240e0bd7e64ca7b47d5b130
parent172bad0d5679f6152281cdd3a69e2cf0a3288c1e (diff)
downloadlvm2-a68e601886e1c9b78345b4c33ce366451e2fe184.tar.gz
lvresize: fix regression with zero size arg
Commit ca878a3426197b629c76e98cfc049948da470cd7 introduced an issue that zero sized extesion suddenly started to be accepted and missed to return error. Properly check invalid input values for sizes.
-rw-r--r--WHATS_NEW1
-rw-r--r--tools/lvresize.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index 378150cd0..524fea466 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.144 -
=====================================
+ Fix regresion when lvresize accepted zero sizes (2.02.141).
Always warn user about PV in use even when pvremove uses --force --force.
Use uninitilized pool header detection in all cases.
Fir read error detection when checking for uninitialized thin-pool header.
diff --git a/tools/lvresize.c b/tools/lvresize.c
index 2c2df366c..a35a03d99 100644
--- a/tools/lvresize.c
+++ b/tools/lvresize.c
@@ -47,6 +47,16 @@ static int _lvresize_params(struct cmd_context *cmd, int argc, char **argv,
*/
lp->sizeargs = arg_count(cmd, extents_ARG) + arg_count(cmd, size_ARG);
+ if (arg_from_list_is_zero(cmd, "may not be zero",
+ chunksize_ARG, extents_ARG,
+ poolmetadatasize_ARG,
+ regionsize_ARG,
+ size_ARG,
+ stripes_ARG, stripesize_ARG,
+ virtualsize_ARG,
+ -1))
+ return_0;
+
if (arg_count(cmd, poolmetadatasize_ARG)) {
lp->poolmetadatasize = arg_uint64_value(cmd, poolmetadatasize_ARG, 0);
lp->poolmetadatasign = arg_sign_value(cmd, poolmetadatasize_ARG, SIGN_NONE);