Bug#647567: lvm2: lvrename fails to rename mlog mimages
Alasdair G Kergon
agk at redhat.com
Fri Nov 4 01:27:06 UTC 2011
On Fri, Nov 04, 2011 at 01:12:39AM +0000, Alasdair G Kergon wrote:
> Wrong. It fails upstream too.
Not thoroughly tested, but probably fix along these lines.
I.e. some recursion is missing.
Alasdair
--- lv_manip.c 3 Nov 2011 15:46:51 -0000 1.319
+++ lv_manip.c 4 Nov 2011 01:24:26 -0000
@@ -2749,13 +2749,20 @@
struct lv_segment *seg;
uint32_t s;
- if (lv_is_cow(lv) && lv_is_virtual_origin(org = origin_from_cow(lv)))
+ if (lv_is_cow(lv) && lv_is_virtual_origin(org = origin_from_cow(lv))) {
if (!fn(cmd, org, data))
return_0;
+ if (!for_each_sub_lv(cmd, org, fn, data))
+ return_0;
+ }
dm_list_iterate_items(seg, &lv->segments) {
- if (seg->log_lv && !fn(cmd, seg->log_lv, data))
- return_0;
+ if (seg->log_lv) {
+ if (!fn(cmd, seg->log_lv, data))
+ return_0;
+ if (!for_each_sub_lv(cmd, seg->log_lv, fn, data))
+ return_0;
+ }
if (seg->pool_metadata_lv && !fn(cmd, seg->pool_metadata_lv, data))
return_0;
for (s = 0; s < seg->area_count; s++) {
More information about the pkg-lvm-maintainers
mailing list