--- storage/partitioning.py | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/storage/partitioning.py b/storage/partitioning.py index eba0cb7..9e332ec 100644 --- a/storage/partitioning.py +++ b/storage/partitioning.py @@ -755,17 +755,26 @@ def allocatePartitions(disks, partitions): # create minimum geometry for this request # req_size is in MB - sectors_per_track = disk.device.biosGeometry[2] length = (_part.req_size * (1024 * 1024)) / sectorSize new_geom = parted.Geometry(device=disk.device, - start=max(sectors_per_track, free.start), + start=free.start, length=length) + # create maximum and minimum geometries for constraint + start = max(0 , free.start - 1), + max_geom = parted.Geometry(device=disk.device, + start=start, + length=min(length + 1, disk.device.length - start)) + min_geom = parted.Geometry(device=disk.device, + start=free.start + 1, + length=length-1) + + # create the partition and add it to the disk partition = parted.Partition(disk=disk, type=part_type, geometry=new_geom) - constraint = parted.Constraint(exactGeom=new_geom) + constraint = parted.Constraint(maxGeom=max_geom, minGeom=min_geom) disk.addPartition(partition=partition, constraint=constraint) log.debug("created partition %s of %dMB and added it to %s" % -- 1.6.0.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list