public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
From: agk@sourceware.org
To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org
Subject: LVM2/lib/activate activate.c
Date: Tue, 05 Jul 2011 18:36:00 -0000	[thread overview]
Message-ID: <20110705183637.27966.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk@sourceware.org	2011-07-05 18:36:37

Modified files:
	lib/activate   : activate.c 

Log message:
	Always perform preload logic before suspending - not only in the case when we
	have precommitted metadata.  (Necessary to avoid loading tables
	while suspend in lvchange --refresh.)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/activate/activate.c.diff?cvsroot=lvm2&r1=1.206&r2=1.207

--- LVM2/lib/activate/activate.c	2011/07/05 01:08:42	1.206
+++ LVM2/lib/activate/activate.c	2011/07/05 18:36:37	1.207
@@ -1168,49 +1168,47 @@
 	lv_calculate_readahead(lv, NULL);
 
 	/*
-	 * If VG was precommitted, preload devices for the LV.
+	 * Preload devices for the LV.
 	 * If the PVMOVE LV is being removed, it's only present in the old
 	 * metadata and not the new, so we must explicitly add the new
 	 * tables for all the changed LVs here, as the relationships
 	 * are not found by walking the new metadata.
 	 */
-	if ((lv_pre->vg->status & PRECOMMITTED)) {
-		if (!(lv_pre->status & LOCKED) &&
-		    (lv->status & LOCKED) &&
-		    (pvmove_lv = find_pvmove_lv_in_lv(lv))) {
-			/* Preload all the LVs above the PVMOVE LV */
-			dm_list_iterate_items(sl, &pvmove_lv->segs_using_this_lv) {
-				if (!(lvl_pre = find_lv_in_vg(lv_pre->vg, sl->seg->lv->name))) {
-					/* FIXME Internal error? */
-					log_error("LV %s missing from preload metadata", sl->seg->lv->name);
-					goto out;
-				}
-				if (!_lv_preload(lvl_pre->lv, laopts, &flush_required))
-					goto_out;
-			}
-			/* Now preload the PVMOVE LV itself */
-			if (!(lvl_pre = find_lv_in_vg(lv_pre->vg, pvmove_lv->name))) {
+	if (!(lv_pre->status & LOCKED) &&
+	    (lv->status & LOCKED) &&
+	    (pvmove_lv = find_pvmove_lv_in_lv(lv))) {
+		/* Preload all the LVs above the PVMOVE LV */
+		dm_list_iterate_items(sl, &pvmove_lv->segs_using_this_lv) {
+			if (!(lvl_pre = find_lv_in_vg(lv_pre->vg, sl->seg->lv->name))) {
 				/* FIXME Internal error? */
-				log_error("LV %s missing from preload metadata", pvmove_lv->name);
+				log_error("LV %s missing from preload metadata", sl->seg->lv->name);
 				goto out;
 			}
 			if (!_lv_preload(lvl_pre->lv, laopts, &flush_required))
 				goto_out;
-		} else {
-			if (!_lv_preload(lv_pre, laopts, &flush_required))
-				/* FIXME Revert preloading */
-				goto_out;
+		}
+		/* Now preload the PVMOVE LV itself */
+		if (!(lvl_pre = find_lv_in_vg(lv_pre->vg, pvmove_lv->name))) {
+			/* FIXME Internal error? */
+			log_error("LV %s missing from preload metadata", pvmove_lv->name);
+			goto out;
+		}
+		if (!_lv_preload(lvl_pre->lv, laopts, &flush_required))
+			goto_out;
+	} else {
+		if (!_lv_preload(lv_pre, laopts, &flush_required))
+			/* FIXME Revert preloading */
+			goto_out;
 
-			/*
-			 * Search for existing LVs that have become detached and preload them.
-			 */
-			detached.lv_pre = lv_pre;
-			detached.laopts = laopts;
-			detached.flush_required = &flush_required;
+		/*
+		 * Search for existing LVs that have become detached and preload them.
+		 */
+		detached.lv_pre = lv_pre;
+		detached.laopts = laopts;
+		detached.flush_required = &flush_required;
 
-			if (!for_each_sub_lv(cmd, lv, &_preload_detached_lv, &detached))
-				goto_out;
-		}
+		if (!for_each_sub_lv(cmd, lv, &_preload_detached_lv, &detached))
+			goto_out;
 	}
 
 	if (!monitor_dev_for_events(cmd, lv, laopts, 0))


             reply	other threads:[~2011-07-05 18:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-05 18:36 agk [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-01-25  9:00 zkabelac
2012-01-20  3:46 agk
2012-01-12  9:08 prajnoha
2011-07-08 15:35 agk
2011-07-05  1:08 agk
2010-07-12 12:38 prajnoha
2008-09-19  7:12 agk
2007-01-24 22:06 agk
2006-04-28 14:06 agk
2006-01-27 20:39 agk
2006-01-27 18:38 agk
2004-05-11 18:18 agk
2004-04-14 17:33 agk
2004-03-26 19:13 agk
2004-03-19 16:26 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=20110705183637.27966.qmail@sourceware.org \
    --to=agk@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).