diff --git a/diskimage_builder/elements/growvols/static/usr/local/sbin/growvols b/diskimage_builder/elements/growvols/static/usr/local/sbin/growvols index 0e5d4686..0c3fdc0b 100755 --- a/diskimage_builder/elements/growvols/static/usr/local/sbin/growvols +++ b/diskimage_builder/elements/growvols/static/usr/local/sbin/growvols @@ -512,9 +512,11 @@ def main(argv): thin_pool = find_thin_pool(devices, group) if thin_pool: # total size available, reduced by POOL_METADATA_SIZE - # rounded down to whole extent + # rounded down to whole extent and reduced by 1 extent + # for metadata overhead size_bytes -= POOL_METADATA_SIZE size_bytes -= size_bytes % PHYSICAL_EXTENT_BYTES + size_bytes -= PHYSICAL_EXTENT_BYTES dev_path = '/dev/%s' % devname grow_vols = find_grow_vols(opts, devices, group, size_bytes) diff --git a/diskimage_builder/elements/growvols/tests/test_growvols.py b/diskimage_builder/elements/growvols/tests/test_growvols.py index db1f87c7..b1622d64 100644 --- a/diskimage_builder/elements/growvols/tests/test_growvols.py +++ b/diskimage_builder/elements/growvols/tests/test_growvols.py @@ -601,13 +601,13 @@ class TestGrowvols(base.BaseTestCase): mock.call(['vgextend', 'vg', '/dev/sda5']), mock.call(['lvextend', '--poolmetadatasize', '+1073741824B', '/dev/mapper/vg-lv_thinpool', '/dev/sda5']), - mock.call(['lvextend', '-L+208331079680B', + mock.call(['lvextend', '-L+208326885376B', '/dev/mapper/vg-lv_thinpool', '/dev/sda5']), - mock.call(['lvextend', '--size', '+41666215936B', + mock.call(['lvextend', '--size', '+41662021632B', '/dev/mapper/vg-lv_home']), - mock.call(['lvextend', '--size', '+83332431872B', + mock.call(['lvextend', '--size', '+83328237568B', '/dev/mapper/vg-lv_var']), - mock.call(['lvextend', '--size', '+83332431872B', + mock.call(['lvextend', '--size', '+83336626176B', '/dev/mapper/vg-lv_root']), mock.call(['xfs_growfs', '/dev/mapper/vg-lv_home']), mock.call(['xfs_growfs', '/dev/mapper/vg-lv_var']),