diff options
author | Alasdair Kergon <agk@redhat.com> | 2008-10-23 11:21:04 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2008-10-23 11:21:04 +0000 |
commit | 5752156c9ef280993f2085ad64231dd40dc6e304 (patch) | |
tree | ee460192ceec95bf53bfe325c0c5ea86b93b9520 | |
parent | a30215a530c089c6b553d81cf61d57addbe4f8da (diff) | |
download | lvm2-5752156c9ef280993f2085ad64231dd40dc6e304.tar.gz |
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.
-rw-r--r-- | WHATS_NEW | 2 | ||||
-rw-r--r-- | lib/metadata/lv_manip.c | 15 |
2 files changed, 9 insertions, 8 deletions
@@ -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 =================================== diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 07d6d23e7..114e8e262 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -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; } } |