[lvm-devel] 2018-06-01-stable - lvconvert: reject conversions of LVs under snapshot
Marian Csontos
mcsontos at sourceware.org
Wed Jul 25 09:38:10 UTC 2018
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=4456d9aa77de7ac035ab975d87b0696e33370ab4
Commit: 4456d9aa77de7ac035ab975d87b0696e33370ab4
Parent: b394a9f63fd01c926c8c00d78f43afb223b2d203
Author: Heinz Mauelshagen <heinzm at redhat.com>
AuthorDate: Mon Jul 23 19:20:18 2018 +0200
Committer: Marian Csontos <mcsontos at redhat.com>
CommitterDate: Wed Jul 25 10:52:58 2018 +0200
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
(cherry picked from commit 2214dc12c34890c78b05456f58d0aa5d6dd08f4c)
---
tools/lvconvert.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index b149201..11715bd 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -4251,6 +4251,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)))
More information about the lvm-devel
mailing list