summaryrefslogtreecommitdiff
path: root/lib/vdo
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2020-09-23 13:20:28 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2020-09-23 13:20:28 +0200
commit50a37948b5b2245a8f5d7d78aa88fa0679dfe0e5 (patch)
treef01310670544971e3b395df1ca263e7dc9fe5514 /lib/vdo
parent7c19186271d3bf37412b7e7dcc271bc9b79f9f4a (diff)
downloadlvm2-50a37948b5b2245a8f5d7d78aa88fa0679dfe0e5.tar.gz
vdo: allow passing renamed vdopool name to kernel
Although kernel does not allow to load a new dm table with renamed vdopool, at least make lvm2 code ready it it every will get supported.
Diffstat (limited to 'lib/vdo')
-rw-r--r--lib/vdo/vdo.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/vdo/vdo.c b/lib/vdo/vdo.c
index ab6d00825..c43a5dc26 100644
--- a/lib/vdo/vdo.c
+++ b/lib/vdo/vdo.c
@@ -362,19 +362,21 @@ static int _vdo_pool_add_target_line(struct dev_manager *dm,
struct dm_tree_node *node, uint64_t len,
uint32_t *pvmove_mirror_count __attribute__((unused)))
{
- char *data_uuid;
+ char *vdo_pool_name, *data_uuid;
if (!seg_is_vdo_pool(seg)) {
log_error(INTERNAL_ERROR "Passed segment is not VDO pool.");
return 0;
}
+ if (!(vdo_pool_name = dm_build_dm_name(mem, seg->lv->vg->name, seg->lv->name, lv_layer(seg->lv))))
+ return_0;
if (!(data_uuid = build_dm_uuid(mem, seg_lv(seg, 0), lv_layer(seg_lv(seg, 0)))))
return_0;
/* VDO uses virtual size instead of its physical size */
if (!dm_tree_node_add_vdo_target(node, get_vdo_pool_virtual_size(seg),
- data_uuid, seg_lv(seg, 0)->size,
+ vdo_pool_name, data_uuid, seg_lv(seg, 0)->size,
&seg->vdo_params))
return_0;