[lvm-devel] master - lvconvert: allow lvconvert --stripes/stripesize only with -mirrors/--repair/--thinpool

Peter Rajnoha prajnoha at fedoraproject.org
Tue Dec 11 15:04:43 UTC 2012


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=cad22be3942809bac979d42195ea5a861a91a71f
Commit:        cad22be3942809bac979d42195ea5a861a91a71f
Parent:        b38ba2708346b52a48be5596b22b3ad4f1304af1
Author:        Peter Rajnoha <prajnoha at redhat.com>
AuthorDate:    Tue Dec 11 15:50:25 2012 +0100
Committer:     Peter Rajnoha <prajnoha at redhat.com>
CommitterDate: Tue Dec 11 15:50:25 2012 +0100

lvconvert: allow lvconvert --stripes/stripesize only with -mirrors/--repair/--thinpool

Also, update lvconvert man page to reflect this and make clear that
the --stripes/stripesize is applied to newly allocated space only.
---
 WHATS_NEW          |    1 +
 man/lvconvert.8.in |    7 ++++++-
 tools/lvconvert.c  |    8 ++++++++
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/WHATS_NEW b/WHATS_NEW
index a9aa152..dbd59bf 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.99 - 
 ===================================
+  Allow lvconvert --stripes/stripesize only with --mirrors/--repair/--thinpool.
   Fix memleak in device_is_usable mirror testing function.
   Do not ignore -f in lvconvert --repair -y -f for mirror and raid volumes.
   Disallow pvmove on RAID LVs until they are addressed properly
diff --git a/man/lvconvert.8.in b/man/lvconvert.8.in
index 4fe9bdd..578047b 100644
--- a/man/lvconvert.8.in
+++ b/man/lvconvert.8.in
@@ -61,6 +61,10 @@ lvconvert \- convert a logical volume from linear to mirror or snapshot
 .sp
 .B lvconvert \-\-repair
 .RB [ \-h | \-? | \-\-help ]
+.RB [ \-\-stripes
+.I Stripes
+.RB [ \-I | \-\-stripesize
+.IR StripeSize ]]
 .RB [ \-v | \-\-verbose ]
 .RB [ \-\-version ]
 .IR LogicalVolume [ Path ]
@@ -274,7 +278,8 @@ This option is only available to RAID segment types
 .BR \-\-stripes " " \fIStripes
 Gives the number of stripes.
 This is equal to the number of physical volumes to scatter
-the logical volume.
+the logical volume. This does not apply to existing allocated
+space, only newly allocated space can be striped.
 .TP
 .BR \-I ", " \-\-stripesize " " \fIStripeSize
 Gives the number of kilobytes for the granularity of the stripes.
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index 2d51069..9c947d7 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -167,6 +167,14 @@ static int _read_params(struct lvconvert_params *lp, struct cmd_context *cmd,
 		return 0;
 	}
 
+	if ((arg_count(cmd, stripes_long_ARG) || arg_count(cmd, stripesize_ARG)) &&
+	    !(arg_count(cmd, mirrors_ARG) || arg_count(cmd, repair_ARG) ||
+	      arg_count(cmd, thinpool_ARG))) {
+		log_error("--stripes or --stripesize argument is only valid "
+			  "with --mirrors, --repair or --thinpool");
+		return 0;
+	}
+
 	if (!arg_count(cmd, background_ARG))
 		lp->wait_completion = 1;
 




More information about the lvm-devel mailing list