[lvm-devel] LVM2 ./WHATS_NEW lib/metadata/lv_manip.c

agk at sourceware.org agk at sourceware.org
Thu May 28 00:29:15 UTC 2009


CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	agk at sourceware.org	2009-05-28 00:29:15

Modified files:
	.              : WHATS_NEW 
	lib/metadata   : lv_manip.c 

Log message:
	Rename internal vorigin LV to match visible LV.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1129&r2=1.1130
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/lv_manip.c.diff?cvsroot=lvm2&r1=1.175&r2=1.176

--- LVM2/WHATS_NEW	2009/05/27 18:19:21	1.1129
+++ LVM2/WHATS_NEW	2009/05/28 00:29:14	1.1130
@@ -1,5 +1,6 @@
 Version 2.02.48 - 
 ===============================
+  Rename internal vorigin LV to match visible LV.
   Suppress 'removed' messages displayed when internal LVs are removed.
   Fix lvchange -a and -p for sparse LVs.
   Fix lvcreate --virtualsize to activate the new device immediately.
--- LVM2/lib/metadata/lv_manip.c	2009/05/27 18:19:21	1.175
+++ LVM2/lib/metadata/lv_manip.c	2009/05/28 00:29:15	1.176
@@ -1700,19 +1700,24 @@
 					void *data),
 			    void *data)
 {
+	struct logical_volume *org;
 	struct lv_segment *seg;
 	uint32_t s;
 
+	if (lv_is_cow(lv) && lv_is_virtual_origin(org = origin_from_cow(lv)))
+		if (!func(cmd, org, data))
+			return_0;
+
 	dm_list_iterate_items(seg, &lv->segments) {
 		if (seg->log_lv && !func(cmd, seg->log_lv, data))
-			return 0;
+			return_0;
 		for (s = 0; s < seg->area_count; s++) {
 			if (seg_type(seg, s) != AREA_LV)
 				continue;
 			if (!func(cmd, seg_lv(seg, s), data))
-				return 0;
+				return_0;
 			if (!_for_each_sub_lv(cmd, seg_lv(seg, s), func, data))
-				return 0;
+				return_0;
 		}
 	}
 




More information about the lvm-devel mailing list