[lvm-devel] LVM2/tools lvconvert.c

agk at sourceware.org agk at sourceware.org
Fri Dec 21 01:08:19 UTC 2007


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk at sourceware.org	2007-12-21 01:08:18

Modified files:
	tools          : lvconvert.c 

Log message:
	auto-collapse layers

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvconvert.c.diff?cvsroot=lvm2&r1=1.49&r2=1.50

--- LVM2/tools/lvconvert.c	2007/12/20 18:55:46	1.49
+++ LVM2/tools/lvconvert.c	2007/12/21 01:08:18	1.50
@@ -236,7 +236,14 @@
 	unsigned corelog = 0;
 
 	seg = first_seg(lv);
-	existing_mirrors = (lv->status & MIRRORED) ? seg->area_count : 1;
+	existing_mirrors = lv_mirror_count(lv);
+
+	/* If called with no argument, try collapsing the resync layers */
+	if (!arg_count(cmd, mirrors_ARG) && !arg_count(cmd, mirrorlog_ARG)) {
+		if (!collapse_mirrored_lv(lv))
+			return_0;
+		goto commit_changes;
+	}
 
 	/*
 	 * Adjust required number of mirrors
@@ -516,8 +523,7 @@
 		return ECMD_FAILED;
 	}
 
-	if (arg_count(cmd, mirrors_ARG) ||
-	    ((lv->status & MIRRORED) && arg_count(cmd, mirrorlog_ARG))) {
+	if (arg_count(cmd, mirrors_ARG) || (lv->status & MIRRORED)) {
 		if (!archive(lv->vg))
 			return ECMD_FAILED;
 		if (!lvconvert_mirrors(cmd, lv, lp))




More information about the lvm-devel mailing list