imsm: fix: Allowed to create 2 volumes with total size less then maximum.
mdadm allows to create second volume on the same disk set, whose size is less then the free space left in the container (with IMSM_NO_PLATFORM undefined or set to 0). This is an OROM compatibility issue. It is fixed by verifying whether IMSM_NO_PLATFORM is set and for the second volume creation scenario, requested size is verified against remaining available space. Signed-off-by: Lukasz Orlowski <lukasz.orlowski@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
68fe459825
commit
3baa56ab61
|
@ -5276,6 +5276,15 @@ static int validate_geometry_imsm_volume(struct supertype *st, int level,
|
|||
i += dl->extent_cnt;
|
||||
|
||||
maxsize = merge_extents(super, i);
|
||||
|
||||
if (!check_env("IMSM_NO_PLATFORM") &&
|
||||
mpb->num_raid_devs > 0 && size && size != maxsize) {
|
||||
fprintf(stderr, Name ": attempting to create a second "
|
||||
"volume with size less then remaining space. "
|
||||
"Aborting...\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (maxsize < size || maxsize == 0) {
|
||||
if (verbose)
|
||||
fprintf(stderr, Name ": not enough space after merge (%llu < %llu)\n",
|
||||
|
|
Loading…
Reference in New Issue