First, we were trying to remove the extended before removing the logicals from it. Second, we were treating the implicit extended request as if it were a real request. --- storage/partitioning.py | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/storage/partitioning.py b/storage/partitioning.py index 5a672b0..f79a115 100644 --- a/storage/partitioning.py +++ b/storage/partitioning.py @@ -599,6 +599,9 @@ def allocatePartitions(disks, partitions): log.debug("removing all non-preexisting from disk(s)") for _part in new_partitions: if _part.partedPartition: + if _part.isExtended: + # these get removed last + continue #_part.disk.partedDisk.removePartition(_part.partedPartition) partedDisk = partedDisks[_part.disk.partedDisk.device.path] #log.debug("removing part %s (%s) from disk %s (%s)" % (_part.partedPartition.path, [p.path for p in _part.partedPartition.disk.partitions], partedDisk.device.path, [p.path for p in partedDisk.partitions])) @@ -611,6 +614,10 @@ def allocatePartitions(disks, partitions): partedDisk.removePartition(extended) for _part in new_partitions: + if _part.partedPartition and _part.isExtended: + # ignore new extendeds as they are implicit requests + continue + # obtain the set of candidate disks req_disks = [] if _part.disk: -- 1.6.0.6 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list