summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-02-17 11:13:19 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2021-02-17 11:21:35 +0100
commita7cb25c877ad70c48fa66258f8e3f2157e2e2be5 (patch)
tree23e921124830ff9bccb8e8fdffbb16ae8d20d3d5
parenta915cd5a46dca80bb1ce981a2ee923b8e813d887 (diff)
downloadlvm2-a7cb25c877ad70c48fa66258f8e3f2157e2e2be5.tar.gz
lvconvert: VDO kernel support before converting
Early check for kernel support of VDO target before starting any conversion work.
-rw-r--r--tools/lvconvert.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c
index ef31799fa..8bd73bb53 100644
--- a/tools/lvconvert.c
+++ b/tools/lvconvert.c
@@ -5472,6 +5472,14 @@ static int _lvconvert_to_vdopool_single(struct cmd_context *cmd,
if (!(lvc.segtype = get_segtype_from_string(cmd, SEG_TYPE_NAME_VDO)))
return_0;
+ if (activation() && lvc.segtype->ops->target_present) {
+ if (!lvc.segtype->ops->target_present(cmd, NULL, &lvc.target_attr)) {
+ log_error("%s: Required device-mapper target(s) not detected in your kernel.",
+ lvc.segtype->name);
+ return 0;
+ }
+ }
+
if (vg_is_shared(vg)) {
/* FIXME: need to swap locks betwen LVs? */
log_error("Unable to convert VDO pool in VG with lock_type %s", vg->lock_type);