public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
From: jbrassow@sourceware.org
To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org
Subject: LVM2 ./WHATS_NEW tools/lvconvert.c
Date: Fri, 05 Feb 2010 21:49:00 -0000	[thread overview]
Message-ID: <20100205214916.30492.qmail@sourceware.org> (raw)

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;
 	}
 


             reply	other threads:[~2010-02-05 21:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-05 21:49 jbrassow [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-03-30  8:58 prajnoha
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
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100205214916.30492.qmail@sourceware.org \
    --to=jbrassow@sourceware.org \
    --cc=lvm-devel@redhat.com \
    --cc=lvm2-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).