]> sourceware.org Git - lvm2.git/commitdiff
Fix temp table activation in mirror conversions not to happen in other cmds.
authorAlasdair Kergon <agk@redhat.com>
Thu, 23 Oct 2008 11:21:04 +0000 (11:21 +0000)
committerAlasdair Kergon <agk@redhat.com>
Thu, 23 Oct 2008 11:21:04 +0000 (11:21 +0000)
Fix temp table in mirror conversions to use always-present error not zero.

WHATS_NEW
lib/metadata/lv_manip.c

index ba1f08e8530a8d1c3a6ef2c1307a76da6260822f..1f24e656ebb52ea3180f42b02051920903fbcf91 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,7 @@
 Version 2.02.42 - 
 ===================================
+  Fix temp table activation in mirror conversions not to happen in other cmds.
+  Fix temp table in mirror conversions to use always-present error not zero.
 
 Version 2.02.41 - 17th October 2008
 ===================================
index 07d6d23e75459d56aaadd7523af4ac3d9f60d7ae..114e8e26221457bfdb77bcf52f73613835d41612 100644 (file)
@@ -2380,30 +2380,29 @@ struct logical_volume *insert_layer_for_lv(struct cmd_context *cmd,
                return NULL;
        }
 
-       if (strstr(name, "_mimagetmp")) {
-               log_very_verbose("Creating transient 'zero' LV"
-                                " for Mirror -> mirror up-convert.");
+       if (lv_is_active(lv_where) && strstr(name, "_mimagetmp")) {
+               log_very_verbose("Creating transient LV %s for mirror conversion in VG %s.", name, lv_where->vg->name);
 
-               segtype = get_segtype_from_string(cmd, "zero");
+               segtype = get_segtype_from_string(cmd, "error");
 
                if (!lv_add_virtual_segment(layer_lv, 0, lv_where->le_count, segtype)) {
-                       log_error("Creation of intermediate layer LV failed.");
+                       log_error("Creation of transient LV %s for mirror conversion in VG %s failed.", name, lv_where->vg->name);
                        return NULL;
                }
 
                if (!vg_write(lv_where->vg)) {
-                       log_error("Failed to write intermediate VG metadata");
+                       log_error("Failed to write intermediate VG %s metadata for mirror conversion.", lv_where->vg->name);
                        return NULL;
                }
 
                if (!vg_commit(lv_where->vg)) {
-                       log_error("Failed to commit intermediate VG metadata");
+                       log_error("Failed to commit intermediate VG %s metadata for mirror conversion.", lv_where->vg->name);
                        vg_revert(lv_where->vg);
                        return NULL;
                }
 
                if (!activate_lv(cmd, layer_lv)) {
-                       log_error("Failed to resume intermediate 'zero' LV, %s", name);
+                       log_error("Failed to resume transient error LV %s for mirror conversion in VG %s.", name, lv_where->vg->name);
                        return NULL;
                }
        }
This page took 0.053013 seconds and 5 git commands to generate.