]> sourceware.org Git - lvm2.git/commitdiff
vdo: use fixed size vdopool wrapper
authorZdenek Kabelac <zkabelac@redhat.com>
Mon, 6 Mar 2023 13:52:59 +0000 (14:52 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Thu, 6 Apr 2023 09:06:04 +0000 (11:06 +0200)
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.

lib/activate/dev_manager.c

index c4bd6ab7b4babab0d2680c8e057c332ec2acf14e..ec642f421a90640d9b4e0d4bd5158731f45a397b 100644 (file)
@@ -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) ||
This page took 0.039111 seconds and 5 git commands to generate.