diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2021-02-17 11:09:41 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2021-02-17 11:21:35 +0100 |
commit | 096edeee718a4c5524e91fa613f015c9061d6a84 (patch) | |
tree | b45dda61b228e4da2d24d75dbf306c4b765d5134 | |
parent | 3ef0861355ad70589959d1e92b53f91424197946 (diff) | |
download | lvm2-096edeee718a4c5524e91fa613f015c9061d6a84.tar.gz |
lv_manip: avoid removing LV when converting
In some cases we use 'creation' also during conversion.
Here it can be actually unwanted side effect we may remove
not just newly created layers - but also original converted LV.
So until we make clear how to properly revert from some errors
in middle of conversion, disable removal for any 'lvconvert' commands.
-rw-r--r-- | lib/metadata/lv_manip.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 32bdc7990..5784e407d 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -8809,7 +8809,9 @@ revert_new_lv: lockd_free_lv(vg->cmd, vg, lv->name, &lv->lvid.id[1], lv->lock_args); /* FIXME Better to revert to backup of metadata? */ - if (!lv_remove(lv) || !vg_write(vg) || !vg_commit(vg)) + /* Do not remove anything for create during conversion operation */ + if (!strncmp(cmd->name, "lvconvert", 9) || + !lv_remove(lv) || !vg_write(vg) || !vg_commit(vg)) log_error("Manual intervention may be required to remove " "abandoned LV(s) before retrying."); else |