public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2012-03-30  8:58 prajnoha
  0 siblings, 0 replies; 22+ messages in thread
From: prajnoha @ 2012-03-30  8:58 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	prajnoha@sourceware.org	2012-03-30 08:58:02

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Detect VG name being part of the LV name in lvconvert --splitmirrors -n.
	
	Before:
	devel/~ # lvconvert --splitmirrors 1 -n vg/splitted_one vg/mirrored_one
	Internal error: LV name vg/splitted_one has invalid form.
	Intermediate VG metadata write failed.
	
	After:
	devel/~ # lvconvert --splitmirrors 1 -n vg/splitted_one vg/mirrored_one
	Logical volume mirrored_one converted.
	
	devel/~ # lvconvert --splitmirrors 1 -n abc/splitted_one vg/mirrored_one
	Please use a single volume group name ("vg" or "abc")
	Run `lvconvert --help' for more information.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2372&r2=1.2373
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.188&r2=1.189

--- LVM2/WHATS_NEW	2012/03/27 15:53:45	1.2372
+++ LVM2/WHATS_NEW	2012/03/30 08:58:02	1.2373
@@ -1,5 +1,6 @@
 Version 2.02.96 - 
 ================================
+  Detect VG name being part of the LV name in lvconvert --splitmirrors -n.
   Fix exclusive lvchange running from other node. (2.02.89)
   Add 'vgscan --cache' functionality for consistency with 'pvscan --cache'.
   Keep exclusive activation in pvmove if LV is already active.
--- LVM2/tools/lvconvert.c	2012/03/01 21:14:43	1.188
+++ LVM2/tools/lvconvert.c	2012/03/30 08:58:02	1.189
@@ -173,9 +173,19 @@
 		}
 
 		lp->lv_split_name = arg_value(cmd, name_ARG);
-		if (lp->lv_split_name &&
-		    !apply_lvname_restrictions(lp->lv_split_name))
-			return_0;
+		if (lp->lv_split_name) {
+			if (strchr(lp->lv_split_name, '/')) {
+				if (!(lp->vg_name = extract_vgname(cmd, lp->lv_split_name)))
+					return_0;
+
+				/* Strip VG from lv_split_name */
+				if ((tmp_str = strrchr(lp->lv_split_name, '/')))
+					lp->lv_split_name = tmp_str + 1;
+			}
+
+			if (!apply_lvname_restrictions(lp->lv_split_name))
+				return_0;
+		}
 
 		lp->keep_mimages = 1;
 		lp->mirrors = arg_uint_value(cmd, splitmirrors_ARG, 0);


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2012-02-22 17:18 jbrassow
  0 siblings, 0 replies; 22+ messages in thread
From: jbrassow @ 2012-02-22 17:18 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2012-02-22 17:18:49

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Allow 'lvconvert --repair' to operate on RAID 4/5/6.
	
	The higher level RAIDs should be allowed for repair along with 'mirror' and
	'raid1' segment types.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2298&r2=1.2299
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.184&r2=1.185

--- LVM2/WHATS_NEW	2012/02/22 17:14:38	1.2298
+++ LVM2/WHATS_NEW	2012/02/22 17:18:49	1.2299
@@ -1,5 +1,6 @@
 Version 2.02.93 - 
 ====================================
+  Allow 'lvconvert --repair' to operate on RAID 4/5/6
   Fix 'build_parallel_areas_from_lv' to work properly with RAID 4/5/6
 
 Version 2.02.92 - 20th February 2012
--- LVM2/tools/lvconvert.c	2012/02/22 16:03:55	1.184
+++ LVM2/tools/lvconvert.c	2012/02/22 17:18:49	1.185
@@ -1736,7 +1736,8 @@
 		return ECMD_FAILED;
 	}
 
-	if (arg_count(cmd, repair_ARG) && !(lv->status & MIRRORED)) {
+	if (arg_count(cmd, repair_ARG) &&
+	    !(lv->status & MIRRORED) && !(lv->status & RAID)) {
 		if (arg_count(cmd, use_policies_ARG))
 			return ECMD_PROCESSED; /* nothing to be done here */
 		log_error("Can't repair non-mirrored LV \"%s\".", lv->name);


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2011-06-01 12:24 prajnoha
  0 siblings, 0 replies; 22+ messages in thread
From: prajnoha @ 2011-06-01 12:24 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	prajnoha@sourceware.org	2011-06-01 12:24:16

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Clarify error message when unable to convert an LV into a snapshot of an LV.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2000&r2=1.2001
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.162&r2=1.163

--- LVM2/WHATS_NEW	2011/05/24 14:12:36	1.2000
+++ LVM2/WHATS_NEW	2011/06/01 12:24:15	1.2001
@@ -1,5 +1,6 @@
 Version 2.02.86 -  
 =================================
+  Clarify error message when unable to convert an LV into a snapshot of an LV.
   Add and use dev_open_readonly and variations.
   Do not log a superfluous stack message when the lv is properly processed.
   Do not issue an error message when unable to remove .cache on read-only fs.
--- LVM2/tools/lvconvert.c	2011/05/07 13:56:13	1.162
+++ LVM2/tools/lvconvert.c	2011/06/01 12:24:16	1.163
@@ -1391,7 +1391,7 @@
 	}
 
 	if (org->status & (LOCKED|PVMOVE|MIRRORED) || lv_is_cow(org)) {
-		log_error("Unable to create a snapshot of a %s LV.",
+		log_error("Unable to convert an LV into a snapshot of a %s LV.",
 			  org->status & LOCKED ? "locked" :
 			  org->status & PVMOVE ? "pvmove" :
 			  org->status & MIRRORED ? "mirrored" :


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2011-01-05 23:18 jbrassow
  0 siblings, 0 replies; 22+ messages in thread
From: jbrassow @ 2011-01-05 23:18 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2011-01-05 23:18:47

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Reverting recent commit to disallow adding/removing mirror log while
	removing/adding mirror images... There was already code in there to
	do the job - I just didn't find it in WHATS_NEW (or in the code right
	away).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1861&r2=1.1862
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.153&r2=1.154

--- LVM2/WHATS_NEW	2011/01/05 20:02:45	1.1861
+++ LVM2/WHATS_NEW	2011/01/05 23:18:46	1.1862
@@ -1,6 +1,5 @@
 Version 2.02.80 - 
 ====================================
-  Prevent adding/removing mirror log while removing/adding an image.
   Add missing tests in _setup_task().
   Fail poll daemon creation when lvmcache_init() fails.
   Return defined value for errors in _copy_percent() and _snap_percent().
--- LVM2/tools/lvconvert.c	2011/01/05 20:02:45	1.153
+++ LVM2/tools/lvconvert.c	2011/01/05 23:18:47	1.154
@@ -927,25 +927,6 @@
 	}
 
 	/*
-	 * Disallow adding logs while removing images or
-	 *          adding images while removing logs
-	 */
-	if ((*old_log_count < *new_log_count) &&
-	    (*old_mimage_count > *new_mimage_count)) {
-		log_error("Mirror logs cannot be added while images are"
-			  " being removed.");
-		log_error("Try two separate commands.");
-		return 0;
-	}
-	if ((*old_log_count > *new_log_count) &&
-	    (*old_mimage_count < *new_mimage_count)) {
-		log_error("Mirror images cannot be added while logs are"
-			  " being removed.");
-		log_error("Try two separate commands.");
-		return 0;
-	}
-
-	/*
 	 * No mirrored logs for cluster mirrors until
 	 * log daemon is multi-threaded.
 	 */
@@ -1368,8 +1349,8 @@
         if (((old_mimage_count < new_mimage_count && old_log_count > new_log_count) ||
              (old_mimage_count > new_mimage_count && old_log_count < new_log_count)) &&
             lp->pv_count) {
-		log_error("Cannot both allocate and free extents when specifying physical"
-			  " volumes to use.");
+		log_error("Cannot both allocate and free extents when "
+			  "specifying physical volumes to use.");
 		log_error("Please specify the operation in two steps.");
 		return 0;
         }


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2011-01-05 20:02 jbrassow
  0 siblings, 0 replies; 22+ messages in thread
From: jbrassow @ 2011-01-05 20:02 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2011-01-05 20:02:45

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Prevent the user from simultaneously adding a mirror log while removing
	a mirror image (or removing a log while adding a mirror).  Advise the
	user to use two separate commands instead.
	
	This issue become especially problematic when PVs are specified, as they
	tend to mean different things when adding vs removing.  In a command that
	mixes adding and removing, it is impossible to decern exactly what the
	user wants.
	
	This change prevents bug 603912.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1860&r2=1.1861
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.152&r2=1.153

--- LVM2/WHATS_NEW	2011/01/05 14:03:36	1.1860
+++ LVM2/WHATS_NEW	2011/01/05 20:02:45	1.1861
@@ -1,5 +1,6 @@
 Version 2.02.80 - 
 ====================================
+  Prevent adding/removing mirror log while removing/adding an image.
   Add missing tests in _setup_task().
   Fail poll daemon creation when lvmcache_init() fails.
   Return defined value for errors in _copy_percent() and _snap_percent().
--- LVM2/tools/lvconvert.c	2010/12/08 20:50:51	1.152
+++ LVM2/tools/lvconvert.c	2011/01/05 20:02:45	1.153
@@ -927,6 +927,25 @@
 	}
 
 	/*
+	 * Disallow adding logs while removing images or
+	 *          adding images while removing logs
+	 */
+	if ((*old_log_count < *new_log_count) &&
+	    (*old_mimage_count > *new_mimage_count)) {
+		log_error("Mirror logs cannot be added while images are"
+			  " being removed.");
+		log_error("Try two separate commands.");
+		return 0;
+	}
+	if ((*old_log_count > *new_log_count) &&
+	    (*old_mimage_count < *new_mimage_count)) {
+		log_error("Mirror images cannot be added while logs are"
+			  " being removed.");
+		log_error("Try two separate commands.");
+		return 0;
+	}
+
+	/*
 	 * No mirrored logs for cluster mirrors until
 	 * log daemon is multi-threaded.
 	 */


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2010-07-30 17:50 taka
  0 siblings, 0 replies; 22+ messages in thread
From: taka @ 2010-07-30 17:50 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	taka@sourceware.org	2010-07-30 17:50:16

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix wrong number of mirror log at allocate policy
	
	With mirror_log_fault_policy of 'remove' and mirror_image_fault_policy
	of 'allocate', the log type of the mirror volume is converted from
	'disk' or 'mirrored' to 'core' when all mirror legs but one in a mirror
	volume broke.
	
	Keep new_log_count as a number of valid log devices by using log_count
	variable for a temporary usage in the first phase of error recovery
	in _lvconvert_mirrors_repair().
	
	Signed-off-by: Takahiro Yasui <takahiro.yasui@hds.com>
	Reviewed-by: Petr Rockai <prockai@redhat.com>

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1677&r2=1.1678
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.140&r2=1.141

--- LVM2/WHATS_NEW	2010/07/28 21:58:08	1.1677
+++ LVM2/WHATS_NEW	2010/07/30 17:50:15	1.1678
@@ -1,5 +1,6 @@
 Version 2.02.73 - 
 ================================
+  Fix wrong number of mirror log at allocate policy
 
 Version 2.02.72 - 28th July 2010  [CVE-2010-2526]
 =================================================
--- LVM2/tools/lvconvert.c	2010/07/13 22:04:36	1.140
+++ LVM2/tools/lvconvert.c	2010/07/30 17:50:16	1.141
@@ -1237,25 +1237,27 @@
 	if (!(lp->failed_pvs = _failed_pv_list(lv->vg)))
 		return_0;
 
+	log_count = new_log_count;
+
 	/*
 	 * We must adjust the log first, or the entire mirror
 	 * will get stuck during a suspend.
 	 */
-	if (!_lv_update_mirrored_log(lv, lp->failed_pvs, new_log_count))
+	if (!_lv_update_mirrored_log(lv, lp->failed_pvs, log_count))
 		return 0;
 
 	if (lp->mirrors == 1)
-		new_log_count = 0;
+		log_count = 0;
 
 	if (failed_mirrors) {
 		if (!lv_remove_mirrors(cmd, lv, failed_mirrors,
-				       new_log_count ? 0U : 1U,
+				       log_count ? 0U : 1U,
 				       _is_partial_lv, NULL, 0))
 			return 0;
 	}
 
 	if (!_lv_update_log_type(cmd, lp, lv, lp->failed_pvs,
-				 new_log_count))
+				 log_count))
 		return 0;
 
 	if (!_reload_lv(cmd, lv))


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2010-07-06 17:02 jbrassow
  0 siblings, 0 replies; 22+ messages in thread
From: jbrassow @ 2010-07-06 17:02 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2010-07-06 17:02:04

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix for bug 607347: failing both redundant mirror log legs...
	
	Rather than attempting to remove all the images of a mirrored
	log volume via remove_mirror_images, simply remove the log
	if all its devices have failed.
	
	Taka was the first to report that there is still an outstanding
	issue with handling this case.  I've managed to reproduce it
	only very rarely, and am still working on identifying the problem.
	Failing to handle the problem rarely is better than not handling
	the scenario at all, so I'm checking this in.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1653&r2=1.1654
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.136&r2=1.137

--- LVM2/WHATS_NEW	2010/07/06 16:49:38	1.1653
+++ LVM2/WHATS_NEW	2010/07/06 17:02:03	1.1654
@@ -1,5 +1,6 @@
 Version 2.02.70 - 6th July 2010
 ===============================
+  Change logic to handle double failure of a "mirrored" mirror log.
   Randomly select which mdas to use or ignore.
   Add some missing standard configure.in checks.
   Add printf format attributes to yes_no_prompt and fix a caller.
--- LVM2/tools/lvconvert.c	2010/07/01 10:10:52	1.136
+++ LVM2/tools/lvconvert.c	2010/07/06 17:02:03	1.137
@@ -705,9 +705,12 @@
 		return 1;
 
 	/* Reducing redundancy of the log */
-	return remove_mirror_images(log_lv, log_count,
-				    is_mirror_image_removable,
-				    operable_pvs, 0U);
+	if (log_count)
+		return remove_mirror_images(log_lv, log_count,
+					    is_mirror_image_removable,
+					    operable_pvs, 0U);
+
+	return remove_mirror_log(lv->vg->cmd, lv, operable_pvs);
 }
 
 static int _lv_update_log_type(struct cmd_context *cmd,


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2010-04-26 18:32 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2010-04-26 18:32 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2010-04-26 18:31:59

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert error message when existing mirrored LV is not found.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1537&r2=1.1538
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.131&r2=1.132

--- LVM2/WHATS_NEW	2010/04/23 19:27:10	1.1537
+++ LVM2/WHATS_NEW	2010/04/26 18:31:58	1.1538
@@ -1,5 +1,6 @@
 Version 2.02.64 -
 =================================
+  Fix lvconvert error message when existing mirrored LV is not found.
   Disallow the direct removal of a merging snapshot.
   Set appropriate udev flags for reserved LVs.
   Don't preload the origin when removing a snapshot whose merge is pending.
--- LVM2/tools/lvconvert.c	2010/04/26 18:12:40	1.131
+++ LVM2/tools/lvconvert.c	2010/04/26 18:31:58	1.132
@@ -1533,12 +1533,11 @@
 	vg = _get_lvconvert_vg(cmd, vg_name, NULL);
 	if (vg_read_error(vg)) {
 		vg_release(vg);
-		log_error("ABORTING: Can't reread VG for %s", vg_name);
-		return NULL;
+		return_NULL;
 	}
 
 	if (!(lv = _get_lvconvert_lv(cmd, vg, lv_name, NULL, 0))) {
-		log_error("ABORTING: Can't find LV %s in VG %s", lv_name, vg_name);
+		log_error("Can't find LV %s in VG %s", lv_name, vg_name);
 		unlock_and_release_vg(cmd, vg, vg_name);
 		return NULL;
 	}
@@ -1616,8 +1615,10 @@
 	vg_name = lv->vg->name;
 	unlock_vg(cmd, vg_name);
 	refreshed_lv = get_vg_lock_and_logical_volume(cmd, vg_name, lv->name);
-	if (!refreshed_lv)
+	if (!refreshed_lv) {
+		log_error("ABORTING: Can't reread LV %s/%s", vg_name, lv->name);
 		return ECMD_FAILED;
+	}
 
 	lp->lv_to_poll = refreshed_lv;
 	ret = _lvconvert_single(cmd, refreshed_lv, lp);


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2010-02-05 21:49 jbrassow
  0 siblings, 0 replies; 22+ messages in thread
From: jbrassow @ 2010-02-05 21:49 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow@sourceware.org	2010-02-05 21:49:16

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Adding a new mimage (leg/copy) to a mirror behaves differently
	depending on if the mirror has a 'core' or 'disk' log.  When there
	is a disk log, the new leg is added by stacking a new mirror on
	top of the old (one leg is the old mirror and the other leg is the newly
	added device).  When the log is a 'core' log, the new leg is simply added
	to the existing mirror and all the devices are re-synced.
	
	The logic that handles collapsing the stacked 'disk' log mirror was
	having the effect of causing 'core' logged mirrors to begin resync'ing
	for a second time.  I have used the 'CONVERTING' flag to indicate that
	a mirror is converting by way of stacking.  This is no longer set for
	up-converting core logs.  The final 'collapse' logic can safely be skipped
	for 'core' log mirrors - getting rid of the second resync.
	
	Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1420&r2=1.1421
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.115&r2=1.116

--- LVM2/WHATS_NEW	2010/02/03 14:08:39	1.1420
+++ LVM2/WHATS_NEW	2010/02/05 21:49:16	1.1421
@@ -1,5 +1,6 @@
 Version 2.02.61 - 
 ===================================
+  Fix inappropriate second resync when adding mimage to core-logged mirror.
   Exclude internal VG names and uuids in lists returned via liblvm interface.
   Add %ORIGIN support to lv{create,extend,reduce,resize} --extents option.
   Add copy constructor for metadata_area.
--- LVM2/tools/lvconvert.c	2010/01/15 22:58:25	1.115
+++ LVM2/tools/lvconvert.c	2010/02/05 21:49:16	1.116
@@ -335,6 +335,9 @@
 {
 	int r = 0;
 
+	if (!(lv->status & CONVERTING))
+		return 1;
+
 	if (!collapse_mirrored_lv(lv)) {
 		log_error("Failed to remove temporary sync layer.");
 		return 0;
@@ -967,7 +970,8 @@
 			stack;
 			return failure_code;
 		}
-		lv->status |= CONVERTING;
+		if (seg->log_lv)
+			lv->status |= CONVERTING;
 		lp->need_polling = 1;
 	}
 


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2009-10-23  1:24 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2009-10-23  1:24 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2009-10-23 01:24:17

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Cleanup mimagetmp LV if allocation fails for new lvconvert mimage.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1301&r2=1.1302
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.94&r2=1.95

--- LVM2/WHATS_NEW	2009/10/22 17:45:23	1.1301
+++ LVM2/WHATS_NEW	2009/10/23 01:24:17	1.1302
@@ -1,5 +1,6 @@
 Version 2.02.54 -
 =====================================
+  Cleanup mimagetmp LV if allocation fails for new lvconvert mimage.
   Fix clvmd segfault when refresh_toolcontext fails.
   Remember to clear 'global lock held during cache refresh' state after use.
   Use udev flags support in LVM.
--- LVM2/tools/lvconvert.c	2009/10/21 22:19:39	1.94
+++ LVM2/tools/lvconvert.c	2009/10/23 01:24:17	1.95
@@ -532,7 +532,7 @@
 	const char *mirrorlog;
 	unsigned corelog = 0;
 	int r = 0;
-	struct logical_volume *log_lv;
+	struct logical_volume *log_lv, *layer_lv;
 	int failed_mirrors = 0, failed_log = 0;
 	struct dm_list *old_pvh = NULL, *remove_pvs = NULL;
 
@@ -733,8 +733,21 @@
 						lv->le_count,
 						lp->region_size),
 				    0U, lp->pvh, lp->alloc,
-				    MIRROR_BY_LV))
+				    MIRROR_BY_LV)) {
+			layer_lv = seg_lv(first_seg(lv), 0);
+			if (!remove_layer_from_lv(lv, layer_lv) ||
+			    !deactivate_lv(cmd, layer_lv) ||
+			    !lv_remove(layer_lv) || !vg_write(lv->vg) ||
+			    !vg_commit(lv->vg)) {
+				log_error("ABORTING: Failed to remove "
+					  "temporary mirror layer %s.",
+					  layer_lv->name);
+				log_error("Manual cleanup with vgcfgrestore "
+					  "and dmsetup may be required.");
+				return 0;
+			}
 			return_0;
+		}
 		lv->status |= CONVERTING;
 		lp->need_polling = 1;
 	}


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2009-06-26  9:04 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2009-06-26  9:04 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2009-06-26 09:04:00

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Abort operation if automatic metadata correction in lvconvert fails.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1153&r2=1.1154
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.82&r2=1.83

--- LVM2/WHATS_NEW	2009/06/17 20:55:24	1.1153
+++ LVM2/WHATS_NEW	2009/06/26 09:03:59	1.1154
@@ -1,5 +1,6 @@
 Version 2.02.48 - 
 ===============================
+  Abort operation if automatic metadata correction in lvconvert fails.
   Explicitly request fallback to default major number in device mapper.
   Ignore suspended devices during repair.
   Call vgreduce --removemissing automatically to clean up bad PVs in dmeventd.
--- LVM2/tools/lvconvert.c	2009/06/15 14:47:39	1.82
+++ LVM2/tools/lvconvert.c	2009/06/26 09:04:00	1.83
@@ -940,7 +940,7 @@
 
 	if (!(vg = vg_lock_and_read(cmd, lp.vg_name, NULL, LCK_VG_WRITE,
 				    CLUSTERED | EXPORTED_VG | LVM_WRITE,
-				    CORRECT_INCONSISTENT)))
+				    CORRECT_INCONSISTENT | FAIL_INCONSISTENT)))
 		goto out;
 
 	if (!(lvl = find_lv_in_vg(vg, lp.lv_name))) {


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2009-06-15 13:43 mbroz
  0 siblings, 0 replies; 22+ messages in thread
From: mbroz @ 2009-06-15 13:43 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2009-06-15 13:43:16

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Suggest use lvchange --resync when up converting not yet synced mirror.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1150&r2=1.1151
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.80&r2=1.81

--- LVM2/WHATS_NEW	2009/06/15 12:15:23	1.1150
+++ LVM2/WHATS_NEW	2009/06/15 13:43:15	1.1151
@@ -1,5 +1,6 @@
 Version 2.02.48 - 
 ===============================
+  Suggest use lvchange --resync when up converting not yet synced mirror.
   Destroy toolcontext on exit in clvmd (fixes memory pool leaks).
   Fix lvconvert to not poll mirror if no conversion in progress.
   Fix memory leaks in toolcontext error path.
--- LVM2/tools/lvconvert.c	2009/06/15 12:08:59	1.80
+++ LVM2/tools/lvconvert.c	2009/06/15 13:43:16	1.81
@@ -683,8 +683,8 @@
 			lp->need_polling = 1;
 	} else if (lp->mirrors > existing_mirrors || failed_mirrors) {
 		if (lv->status & MIRROR_NOTSYNCED) {
-			log_error("Not adding mirror to mirrored LV "
-				  "without initial resync");
+			log_error("Can't add mirror to out-of-sync mirrored "
+				  "LV: use lvchange --resync first.");
 			return 0;
 		}
 		/*


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2009-06-15 12:09 mbroz
  0 siblings, 0 replies; 22+ messages in thread
From: mbroz @ 2009-06-15 12:09 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mbroz@sourceware.org	2009-06-15 12:08:59

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert to not poll mirror if no conversion in progress.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1148&r2=1.1149
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.79&r2=1.80

--- LVM2/WHATS_NEW	2009/06/15 11:56:31	1.1148
+++ LVM2/WHATS_NEW	2009/06/15 12:08:59	1.1149
@@ -1,5 +1,6 @@
 Version 2.02.48 - 
 ===============================
+  Fix lvconvert to not poll mirror if no conversion in progress.
   Fix memory leaks in toolcontext error path.
   Re-instate partial activation support in clustered mode. (2.02.40)
   Allow metadata correction even when PVs are missing.
--- LVM2/tools/lvconvert.c	2009/06/10 15:27:57	1.79
+++ LVM2/tools/lvconvert.c	2009/06/15 12:08:59	1.80
@@ -523,7 +523,8 @@
 	if (!arg_count(cmd, mirrors_ARG) && !arg_count(cmd, mirrorlog_ARG) &&
 	    !arg_count(cmd, corelog_ARG) && !arg_count(cmd, regionsize_ARG) &&
 	    !repair) {
-		lp->need_polling = 1;
+		if (find_temporary_mirror(lv) || (lv->status & CONVERTING))
+			lp->need_polling = 1;
 		return 1;
 	}
 


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2008-06-26 21:38 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2008-06-26 21:38 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-06-26 21:38:58

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert to disallow snapshot and mirror combinations. (mpatocka)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.917&r2=1.918
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.64&r2=1.65

--- LVM2/WHATS_NEW	2008/06/25 16:52:26	1.917
+++ LVM2/WHATS_NEW	2008/06/26 21:38:57	1.918
@@ -1,5 +1,6 @@
 Version 2.02.39 -
 ================================
+  Fix lvconvert to disallow snapshot and mirror combinations.
   Fix reporting of LV fields alongside unallocated PV segments.
   Add --unquoted and --rows to reporting tools.
   Add and use uninitialized_var() macro to suppress invalid compiler warnings.
--- LVM2/tools/lvconvert.c	2008/04/18 12:50:24	1.64
+++ LVM2/tools/lvconvert.c	2008/06/26 21:38:58	1.65
@@ -629,10 +629,12 @@
 		return 0;
 	}
 
-	if (org->status & (LOCKED|PVMOVE) || lv_is_cow(org)) {
+	if (org->status & (LOCKED|PVMOVE|MIRRORED) || lv_is_cow(org)) {
 		log_error("Unable to create a snapshot of a %s LV.",
 			  org->status & LOCKED ? "locked" :
-			  org->status & PVMOVE ? "pvmove" : "snapshot");
+			  org->status & PVMOVE ? "pvmove" :
+			  org->status & MIRRORED ? "mirrored" :
+			  "snapshot");
 		return 0;
 	}
 
@@ -707,15 +709,19 @@
 		return ECMD_FAILED;
 	}
 
-	if (arg_count(cmd, mirrors_ARG) || (lv->status & MIRRORED)) {
+	if (lp->snapshot) {
+		if (lv->status & MIRRORED) {
+			log_error("Unable to convert mirrored LV \"%s\" into a snapshot.", lv->name);
+			return ECMD_FAILED;
+		}
 		if (!archive(lv->vg))
 			return ECMD_FAILED;
-		if (!lvconvert_mirrors(cmd, lv, lp))
+		if (!lvconvert_snapshot(cmd, lv, lp))
 			return ECMD_FAILED;
-	} else if (lp->snapshot) {
+	} else if (arg_count(cmd, mirrors_ARG) || (lv->status & MIRRORED)) {
 		if (!archive(lv->vg))
 			return ECMD_FAILED;
-		if (!lvconvert_snapshot(cmd, lv, lp))
+		if (!lvconvert_mirrors(cmd, lv, lp))
 			return ECMD_FAILED;
 	}
 


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2008-04-18 12:50 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2008-04-18 12:50 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-04-18 12:50:24

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert -m0 allocatable space check.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.853&r2=1.854
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.63&r2=1.64

--- LVM2/WHATS_NEW	2008/04/15 15:01:18	1.853
+++ LVM2/WHATS_NEW	2008/04/18 12:50:24	1.854
@@ -1,5 +1,6 @@
 Version 2.02.36 - 
 =================================
+  Fix lvconvert -m0 allocatable space check.
 
 Version 2.02.35 - 15th April 2008
 =================================
--- LVM2/tools/lvconvert.c	2008/04/09 12:56:34	1.63
+++ LVM2/tools/lvconvert.c	2008/04/18 12:50:24	1.64
@@ -750,7 +750,7 @@
 
 	if (lp.pv_count) {
 		if (!(lp.pvh = create_pv_list(cmd->mem, vg, lp.pv_count,
-					      lp.pvs, 1)))
+					      lp.pvs, 0)))
 			goto_bad;
 	} else
 		lp.pvh = &vg->pvs;


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2008-02-12 13:29 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2008-02-12 13:29 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-02-12 13:29:08

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert detection of mirror conversion in progress.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.792&r2=1.793
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.60&r2=1.61

--- LVM2/WHATS_NEW	2008/02/12 13:26:53	1.792
+++ LVM2/WHATS_NEW	2008/02/12 13:29:08	1.793
@@ -1,5 +1,6 @@
 Version 2.02.34 -
 ===================================
+  Fix lvconvert detection of mirror conversion in progress. (2.02.30)
   Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30)
   Fix 'pvs -a' to detect VGs of PVs without metadata areas.
   Divide up internal orphan volume group by format type.
--- LVM2/tools/lvconvert.c	2008/02/12 13:26:53	1.60
+++ LVM2/tools/lvconvert.c	2008/02/12 13:29:08	1.61
@@ -526,6 +526,8 @@
 			log_error("Logical volume %s already has %"
 				  PRIu32 " mirror(s).", lv->name,
 				  lp->mirrors - 1);
+			if (lv->status & CONVERTING)
+				lp->need_polling = 1;
 			return 1;
 		}
 	} else if (lp->mirrors > existing_mirrors) {


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2008-02-12 13:26 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2008-02-12 13:26 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-02-12 13:26:53

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Avoid automatic lvconvert polldaemon invocation when -R specified.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.791&r2=1.792
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.59&r2=1.60

--- LVM2/WHATS_NEW	2008/02/06 16:09:51	1.791
+++ LVM2/WHATS_NEW	2008/02/12 13:26:53	1.792
@@ -1,5 +1,6 @@
 Version 2.02.34 -
 ===================================
+  Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30)
   Fix 'pvs -a' to detect VGs of PVs without metadata areas.
   Divide up internal orphan volume group by format type.
   Update usage message for clvmd.
--- LVM2/tools/lvconvert.c	2008/01/30 14:00:01	1.59
+++ LVM2/tools/lvconvert.c	2008/02/12 13:26:53	1.60
@@ -389,7 +389,7 @@
 
 	/* If called with no argument, try collapsing the resync layers */
 	if (!arg_count(cmd, mirrors_ARG) && !arg_count(cmd, mirrorlog_ARG) &&
-	    !arg_count(cmd, corelog_ARG)) {
+	    !arg_count(cmd, corelog_ARG) && !arg_count(cmd, regionsize_ARG)) {
 		lp->need_polling = 1;
 		return 1;
 	}


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2008-01-14 21:11 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2008-01-14 21:11 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2008-01-14 21:11:47

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	lvconvert waits for initial completion by default

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.758&r2=1.759
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.53&r2=1.54

--- LVM2/WHATS_NEW	2008/01/11 07:02:34	1.758
+++ LVM2/WHATS_NEW	2008/01/14 21:11:47	1.759
@@ -1,5 +1,6 @@
 Version 2.02.30 -
 ===================================
+  lvconvert waits for completion of initial sync by default.
   Refactor vgcreate for parameter validation and add tests.
   Add new convert_lv field to lvs output.
   Print warning when lvm tools are running as non-root.
--- LVM2/tools/lvconvert.c	2008/01/10 18:35:51	1.53
+++ LVM2/tools/lvconvert.c	2008/01/14 21:11:47	1.54
@@ -24,7 +24,8 @@
 	const char *lv_name;
 	const char *lv_name_full;
 	const char *vg_name;
-	int wait_daemon;
+	int wait_completion;
+	int need_polling;
 
 	uint32_t chunk_size;
 	uint32_t region_size;
@@ -116,6 +117,9 @@
 		return 0;
 	}
 
+	if (!arg_count(cmd, background_ARG))
+		lp->wait_completion = 1;
+
 	if (arg_count(cmd, snapshot_ARG))
 		lp->snapshot = 1;
 
@@ -374,7 +378,7 @@
 	/* If called with no argument, try collapsing the resync layers */
 	if (!arg_count(cmd, mirrors_ARG) && !arg_count(cmd, mirrorlog_ARG) &&
 	    !arg_count(cmd, corelog_ARG)) {
-		lp->wait_daemon = 1;
+		lp->need_polling = 1;
 		return 1;
 	}
 
@@ -476,6 +480,8 @@
 				    corelog ? 0U : 1U, lp->pvh, lp->alloc,
 				    MIRROR_BY_LV))
 			return_0;
+		if (lp->wait_completion)
+			lp->need_polling = 1;
 		goto commit_changes;
 	}
 
@@ -549,7 +555,7 @@
 				    MIRROR_BY_LV))
 			return_0;
 		lv->status |= CONVERTING;
-		lp->wait_daemon = 1;
+		lp->need_polling = 1;
 	} else {
 		/* Reduce number of mirrors */
 		if (!lv_remove_mirrors(cmd, lv, existing_mirrors - lp->mirrors,
@@ -584,7 +590,7 @@
 		return 0;
 	}
 
-	if (!lp->wait_daemon)
+	if (!lp->need_polling)
 		log_print("Logical volume %s converted.", lv->name);
 
 	return 1;
@@ -740,13 +746,13 @@
 error:
 	unlock_vg(cmd, lp.vg_name);
 
-	if (ret == ECMD_PROCESSED && lp.wait_daemon) {
+	if (ret == ECMD_PROCESSED && lp.need_polling) {
 		if (!lv_info(cmd, lvl->lv, &info, 1, 0) || !info.exists) {
 			log_print("Conversion starts after activation");
 			return ret;
 		}
 		ret = lvconvert_poll(cmd, lp.lv_name_full,
-				     arg_count(cmd, background_ARG) ? 1U : 0);
+				     lp.wait_completion ? 0 : 1U);
 	}
 
 	return ret;


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2007-08-22 20:03 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2007-08-22 20:03 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2007-08-22 20:03:46

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Change lvconvert_mirrors to use mirror segtype not striped.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.691&r2=1.692
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.37&r2=1.38

--- LVM2/WHATS_NEW	2007/08/22 19:32:39	1.691
+++ LVM2/WHATS_NEW	2007/08/22 20:03:44	1.692
@@ -1,5 +1,6 @@
 Version 2.02.28 -
 ================================
+  Change lvconvert_mirrors to use mirror segtype not striped.
   Fix lvconvert_mirrors detection of number of existing mirrors.
   Clean up numerous compiler warnings that crept in recently.
   Remove several unused parameters from _allocate().
--- LVM2/tools/lvconvert.c	2007/08/22 19:32:39	1.37
+++ LVM2/tools/lvconvert.c	2007/08/22 20:03:46	1.38
@@ -208,7 +208,7 @@
 			return 0;
 		}
 
-		if (!(lp->segtype = get_segtype_from_string(cmd, "striped")))
+		if (!(lp->segtype = get_segtype_from_string(cmd, "mirror")))
 			return_0;
 	}
 
@@ -236,7 +236,6 @@
 	struct alloc_handle *ah = NULL;
 	struct logical_volume *log_lv;
 	struct list *parallel_areas;
-	struct segment_type *segtype;  /* FIXME: could I just use lp->segtype */
 	float sync_percent;
 	const char *mirrorlog;
 	unsigned corelog = 0;
@@ -339,7 +338,7 @@
 		if (!(ah = allocate_extents(lv->vg, NULL, lp->segtype,
 					    1, lp->mirrors - 1,
 					    corelog ? 0U : 1U,
-					    lv->le_count * (lp->mirrors - 1),
+					    lv->le_count,
 					    NULL, 0, lp->pvh,
 					    lp->alloc,
 					    parallel_areas)))
@@ -386,9 +385,7 @@
 				return 0;
 			}
 
-			segtype = get_segtype_from_string(cmd, "striped");
-
-			if (!(ah = allocate_extents(lv->vg, NULL, segtype, 0,
+			if (!(ah = allocate_extents(lv->vg, NULL, lp->segtype, 0,
 						    0, 1, 0,
 						    NULL, 0, lp->pvh,
 						    lp->alloc,


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2007-08-22 19:32 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2007-08-22 19:32 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2007-08-22 19:32:40

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix lvconvert_mirrors detection of number of existing mirrors.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.690&r2=1.691
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.36&r2=1.37

--- LVM2/WHATS_NEW	2007/08/22 14:38:15	1.690
+++ LVM2/WHATS_NEW	2007/08/22 19:32:39	1.691
@@ -1,5 +1,6 @@
 Version 2.02.28 -
 ================================
+  Fix lvconvert_mirrors detection of number of existing mirrors.
   Clean up numerous compiler warnings that crept in recently.
   Remove several unused parameters from _allocate().
   Only permit --force, --verbose and --debug arguments to be repeated.
--- LVM2/tools/lvconvert.c	2007/08/22 14:38:18	1.36
+++ LVM2/tools/lvconvert.c	2007/08/22 19:32:39	1.37
@@ -242,7 +242,7 @@
 	unsigned corelog = 0;
 
 	seg = first_seg(lv);
-	existing_mirrors = seg->area_count;
+	existing_mirrors = (lv->status & MIRRORED) ? seg->area_count : 1;
 
 	/*
 	 * Adjust required number of mirrors


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2007-08-10 13:33 wysochanski
  0 siblings, 0 replies; 22+ messages in thread
From: wysochanski @ 2007-08-10 13:33 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	wysochanski@sourceware.org	2007-08-10 13:33:49

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Fix "lvconvert -s" from always failing with argument error message.
	Patch by Jun'ichi Nomura <j-nomura@ce.jp.nec.com>.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.680&r2=1.681
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.32&r2=1.33

--- LVM2/WHATS_NEW	2007/08/09 09:53:33	1.680
+++ LVM2/WHATS_NEW	2007/08/10 13:33:49	1.681
@@ -1,5 +1,6 @@
 Version 2.02.28 -
 ================================
+  Fix "lvconvert -s" from always failing with argument error message.
   Add more cluster info to lvmdump
   Add const attributes where possible, first cut.
   Add support for renaming mirrored LVs.
--- LVM2/tools/lvconvert.c	2007/08/09 21:25:08	1.32
+++ LVM2/tools/lvconvert.c	2007/08/10 13:33:49	1.33
@@ -101,7 +101,7 @@
 static int _read_params(struct lvconvert_params *lp, struct cmd_context *cmd,
 			int argc, char **argv)
 {
-	int count;
+	int count = 0;
 	int region_size;
 	int pagesize = lvm_getpagesize();
 


^ permalink raw reply	[flat|nested] 22+ messages in thread
* LVM2 ./WHATS_NEW tools/lvconvert.c
@ 2005-08-15 14:10 agk
  0 siblings, 0 replies; 22+ messages in thread
From: agk @ 2005-08-15 14:10 UTC (permalink / raw)
  To: lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2005-08-15 14:10:28

Modified files:
	.              : WHATS_NEW 
	tools          : lvconvert.c 

Log message:
	Move lvconvert parameters into struct lvconvert_params.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.283&r2=1.284
http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.2&r2=1.3


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2012-03-30  8:58 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-30  8:58 LVM2 ./WHATS_NEW tools/lvconvert.c prajnoha
  -- strict thread matches above, loose matches on Subject: below --
2012-02-22 17:18 jbrassow
2011-06-01 12:24 prajnoha
2011-01-05 23:18 jbrassow
2011-01-05 20:02 jbrassow
2010-07-30 17:50 taka
2010-07-06 17:02 jbrassow
2010-04-26 18:32 agk
2010-02-05 21:49 jbrassow
2009-10-23  1:24 agk
2009-06-26  9:04 agk
2009-06-15 13:43 mbroz
2009-06-15 12:09 mbroz
2008-06-26 21:38 agk
2008-04-18 12:50 agk
2008-02-12 13:29 agk
2008-02-12 13:26 agk
2008-01-14 21:11 agk
2007-08-22 20:03 agk
2007-08-22 19:32 agk
2007-08-10 13:33 wysochanski
2005-08-15 14:10 agk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).