[lvm-devel] LVM2 ./WHATS_NEW lib/cache/lvmcache.c

agk at sourceware.org agk at sourceware.org
Wed Jun 11 11:02:06 UTC 2008


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk at sourceware.org	2008-06-11 11:02:05

Modified files:
	.              : WHATS_NEW 
	lib/cache      : lvmcache.c 

Log message:
	Fix tracking of validity of PVs with no mdas in lvmcache.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.896&r2=1.897
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/cache/lvmcache.c.diff?cvsroot=lvm2&r1=1.57&r2=1.58

--- LVM2/WHATS_NEW	2008/06/10 20:07:04	1.896
+++ LVM2/WHATS_NEW	2008/06/11 11:02:05	1.897
@@ -1,5 +1,6 @@
 Version 2.02.38 - 
 =================================
+  Fix tracking of validity of PVs with no mdas in lvmcache.
   Fix return values for reporting commands when run with no PVs, LVs, or VGs.
   Add omitted unlock_vg() call when sigint_caught() during vg processing.
   Fix wrong free_count on imported vg from pool device
--- LVM2/lib/cache/lvmcache.c	2008/06/09 16:22:33	1.57
+++ LVM2/lib/cache/lvmcache.c	2008/06/11 11:02:05	1.58
@@ -1015,6 +1015,15 @@
 		vgid = vgname;
 	}
 
+	/* If PV without mdas is already in a real VG, don't make it orphan */
+	if (is_orphan_vg(vgname) && info->vginfo && !list_size(&info->mdas) &&
+	    !is_orphan_vg(info->vginfo->vgname) && memlock())
+		return 1;
+
+	/* If moving PV from orphan to real VG, always mark it valid */
+	if (!is_orphan_vg(vgname))
+		info->status &= ~CACHE_INVALID;
+
 	if (!_lvmcache_update_vgname(info, vgname, vgid, vgstatus,
 				     creation_host, info->fmt) ||
 	    !_lvmcache_update_vgid(info, info->vginfo, vgid) ||




More information about the lvm-devel mailing list