summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2023-03-06 14:52:59 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2023-04-06 11:06:04 +0200
commite8e6347ba3f59cbd2f7e92aa707543b90fa607a3 (patch)
tree81b5176fb292cbfdcb3eeef3f0a3310d0cab0d1f
parent334117ee00aa6751ff7589b983497e1b7eee9d76 (diff)
downloadlvm2-e8e6347ba3f59cbd2f7e92aa707543b90fa607a3.tar.gz
vdo: use fixed size vdopool wrapper
Instead of using size of 'empty header' in vdopool use fixed size 4K for a 'wrappeing' vdo-pool device. This fixes the issue when user tried to activate vdo-pool after a conversion from vdo managed device with 'vgchange -ay' - where this command activated all LVs with 'vdo-pool' wrapping device as well, but this converted pool uses 0-length header. This 4k size should usually prevent other tools like 'blkid' recognize such device as anything - so it shouldn't cause any problems with duplicate indentification of devices.
-rw-r--r--lib/activate/dev_manager.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c
index c4bd6ab7b..ec642f421 100644
--- a/lib/activate/dev_manager.c
+++ b/lib/activate/dev_manager.c
@@ -3115,7 +3115,7 @@ static int _add_layer_target_to_dtree(struct dev_manager *dm,
/* Add linear mapping over layered LV */
/* From VDO layer expose ONLY vdo pool header, we would need to use virtual size otherwise */
- if (!add_linear_area_to_dtree(dnode, lv_is_vdo_pool(lv) ? first_seg(lv)->vdo_pool_header_size : lv->size,
+ if (!add_linear_area_to_dtree(dnode, lv_is_vdo_pool(lv) ? 8 : lv->size,
lv->vg->extent_size,
lv->vg->cmd->use_linear_target,
lv->vg->name, lv->name) ||