diff options
-rw-r--r-- | storage/devicetree.py | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/storage/devicetree.py b/storage/devicetree.py index 14239b0b6..75dde9c58 100644 --- a/storage/devicetree.py +++ b/storage/devicetree.py @@ -514,10 +514,10 @@ class DeviceTree(object): ret = cmp(a2.device.name, a1.device.name) elif isinstance(a1.device, PartitionDevice) and \ a2.device.partitioned: - ret = 1 + ret = -1 elif isinstance(a2.device, PartitionDevice) and \ a1.device.partitioned: - ret = -1 + ret = 1 else: ret = 0 elif a1.isDestroy(): @@ -555,18 +555,6 @@ class DeviceTree(object): elif isinstance(a1.device, PartitionDevice) and \ isinstance(a2.device, PartitionDevice): ret = cmp(a1.device.name, a2.device.name) - elif isinstance(a1.device, PartitionDevice) and \ - a2.device.partitioned: - if a1.isGrow(): - ret = -1 - else: - ret = 1 - elif isinstance(a2.device, PartitionDevice) and \ - a1.device.partitioned: - if a2.isGrow(): - ret = 1 - else: - ret = -1 else: ret = 0 elif a1.isResize(): @@ -622,9 +610,13 @@ class DeviceTree(object): ret = -1 elif isinstance(a1.device, PartitionDevice) and \ isinstance(a2.device, PartitionDevice): - ret = cmp(a1.device.name, a2.device.name) + if a1.device.disk == a2.device.disk: + ret = cmp(a1.device.partedPartition.number, + a2.device.partedPartition.number) + else: + ret = cmp(a1.device.name, a2.device.name) else: - ret = cmp(a1.device.name, a2.device.name) + ret = 0 else: ret = 0 |