public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
From: taka@sourceware.org
To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org
Subject: LVM2 ./WHATS_NEW tools/lvconvert.c
Date: Fri, 30 Jul 2010 17:50:00 -0000	[thread overview]
Message-ID: <20100730175017.23464.qmail@sourceware.org> (raw)

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))


             reply	other threads:[~2010-07-30 17:50 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-30 17:50 taka [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-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

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=20100730175017.23464.qmail@sourceware.org \
    --to=taka@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).