merge_extents() was initially designed to support creation only. Expand feature was added later and the current code was not updated properly. Now, we can see two issues: 1. --size=max used with expand and create result in different array size. 2. In scenarios, where volume were deleted an recreated it may not be possible to expand the volume. The patchset addresses listed issues and removes limitation to the last volume for expand. Mariusz Tkaczyk (6): imsm: move sum_extents calculations to merge_extents() imsm: imsm_get_free_size() refactor. imsm: introduce round_member_size_to_mb() imsm: move expand verification code into new function imsm: return free space after volume for expand imsm: fix free space calculations super-intel.c | 363 ++++++++++++++++++++++++++++---------------------- 1 file changed, 202 insertions(+), 161 deletions(-) -- 2.26.2