public inbox for lvm2-cvs@sourceware.org
help / color / mirror / Atom feed
* LVM2 lib/metadata/metadata.c test/t-unlost-pv.sh
@ 2009-06-10 20:17 mornfall
  0 siblings, 0 replies; only message in thread
From: mornfall @ 2009-06-10 20:17 UTC (permalink / raw)
  To: lvm-devel, lvm2-cvs

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	mornfall@sourceware.org	2009-06-10 20:17:33

Modified files:
	lib/metadata   : metadata.c 
	test           : t-unlost-pv.sh 

Log message:
	Allow metadata correction even when PVs are missing.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/metadata.c.diff?cvsroot=lvm2&r1=1.226&r2=1.227
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/test/t-unlost-pv.sh.diff?cvsroot=lvm2&r1=1.2&r2=1.3

--- LVM2/lib/metadata/metadata.c	2009/06/10 16:14:40	1.226
+++ LVM2/lib/metadata/metadata.c	2009/06/10 20:17:32	1.227
@@ -1835,6 +1835,7 @@
 	int inconsistent_vgid = 0;
 	int inconsistent_pvs = 0;
 	unsigned use_precommitted = precommitted;
+	unsigned saved_handles_missing_pvs = cmd->handles_missing_pvs;
 	struct dm_list *pvids;
 	struct pv_list *pvl, *pvl2;
 	struct dm_list all_pvs;
@@ -2076,11 +2077,14 @@
 		log_warn("WARNING: Inconsistent metadata found for VG %s - updating "
 			 "to use version %u", vgname, correct_vg->seqno);
 
+		cmd->handles_missing_pvs = 1;
 		if (!vg_write(correct_vg)) {
 			log_error("Automatic metadata correction failed");
 			vg_release(correct_vg);
+			cmd->handles_missing_pvs = saved_handles_missing_pvs;
 			return NULL;
 		}
+		cmd->handles_missing_pvs = saved_handles_missing_pvs;
 
 		if (!vg_commit(correct_vg)) {
 			log_error("Automatic metadata correction commit "
--- LVM2/test/t-unlost-pv.sh	2008/11/10 12:43:35	1.2
+++ LVM2/test/t-unlost-pv.sh	2009/06/10 20:17:33	1.3
@@ -29,7 +29,6 @@
 enable_dev $dev1
 check
 
-exit 0 # FIXME, bug demonstration code follows
 # try to just change metadata; we expect the new version (with MISSING_PV set
 # on the reappeared volume) to be written out to the previously missing PV
 vgextend $vg $dev1


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-06-10 20:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-10 20:17 LVM2 lib/metadata/metadata.c test/t-unlost-pv.sh mornfall

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