diff options
author | Heinz Mauelshagen <heinzm@redhat.com> | 2018-07-23 19:20:18 +0200 |
---|---|---|
committer | Heinz Mauelshagen <heinzm@redhat.com> | 2018-07-23 19:35:34 +0200 |
commit | 2214dc12c34890c78b05456f58d0aa5d6dd08f4c (patch) | |
tree | 16b1529fd16c1a219d27e663db17ecc44502493c | |
parent | 778ce8d80830a60d258b419720be3e45a7ee9f0b (diff) | |
download | lvm2-2214dc12c34890c78b05456f58d0aa5d6dd08f4c.tar.gz |
lvconvert: reject conversions of LVs under snapshot
Conversions of LVs under snapshot to thinpool or cachepool
correctly fail but leave them inactive and provide cryptic
error messages like 'Internal error: #LVs (10) != #visible
LVs (2) + #snapshots (1) + #internal LVs (5) in VG VG'.
Reject and provide better error message.
Resolves: rhbz1514146
-rw-r--r-- | tools/lvconvert.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c index 0bb1dc932..4871f7f90 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -4235,6 +4235,12 @@ static int _lvconvert_to_pool_or_swap_metadata_single(struct cmd_context *cmd, return 0; }; + if (lv_is_origin(lv)) { + log_error("Cannot convert logical volume %s under snapshot.", + display_lvname(lv)); + return 0; + }; + if (cmd->position_argc > 1) { /* First pos arg is required LV, remaining are optional PVs. */ if (!(use_pvh = create_pv_list(cmd->mem, lv->vg, cmd->position_argc - 1, cmd->position_argv + 1, 0))) |