]> sourceware.org Git - lvm2.git/commitdiff
Rename internal vorigin LV to match visible LV.
authorAlasdair Kergon <agk@redhat.com>
Thu, 28 May 2009 00:29:14 +0000 (00:29 +0000)
committerAlasdair Kergon <agk@redhat.com>
Thu, 28 May 2009 00:29:14 +0000 (00:29 +0000)
WHATS_NEW
lib/metadata/lv_manip.c

index 9a3446ef5ca8bc57d58125c0fa1200d89a825968..d43ad3bc840471183782e87c4d0835e0052e9fec 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -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.
index 3f770996e85af85b16ea4a3a1091098ac6f231c8..53e92e0f9f686c2c4a531e982645d8fb1588fa60 100644 (file)
@@ -1700,19 +1700,24 @@ static int _for_each_sub_lv(struct cmd_context *cmd, struct logical_volume *lv,
                                        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;
                }
        }
 
This page took 0.049807 seconds and 5 git commands to generate.