[lvm-devel] master - mirror: layer remove doesn't work properly with mirrors
Zdenek Kabelac
zkabelac at fedoraproject.org
Mon Nov 10 21:33:25 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=a7fc1082987c3d5842664fd7817ec01e1ddec9cc
Commit: a7fc1082987c3d5842664fd7817ec01e1ddec9cc
Parent: 094596cfd2001a8714923dd87abb2feacd116a13
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Nov 10 22:32:43 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Nov 10 22:32:43 2014 +0100
mirror: layer remove doesn't work properly with mirrors
---
lib/metadata/lv_manip.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 220f894..20bf76f 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -6007,14 +6007,15 @@ int remove_layer_from_lv(struct logical_volume *lv,
* currently supported only for thin data layer
* FIXME: without strcmp it breaks mirrors....
*/
- for (r = 0; r < DM_ARRAY_SIZE(_suffixes); ++r)
- if (strstr(layer_lv->name, _suffixes[r]) == 0) {
- lv_names.old = layer_lv->name;
- lv_names.new = parent_lv->name;
- if (!for_each_sub_lv(parent_lv, _rename_cb, (void *) &lv_names))
- return_0;
- break;
- }
+ if (!strstr(layer_lv->name, "_mimage"))
+ for (r = 0; r < DM_ARRAY_SIZE(_suffixes); ++r)
+ if (strstr(layer_lv->name, _suffixes[r]) == 0) {
+ lv_names.old = layer_lv->name;
+ lv_names.new = parent_lv->name;
+ if (!for_each_sub_lv(parent_lv, _rename_cb, (void *) &lv_names))
+ return_0;
+ break;
+ }
return 1;
}
More information about the lvm-devel
mailing list