summaryrefslogtreecommitdiffstats
path: root/storage/partitioning.py
diff options
context:
space:
mode:
authorDavid Lehman <dlehman@redhat.com>2009-12-06 17:20:14 -0500
committerDavid Lehman <dlehman@redhat.com>2009-12-08 08:28:17 -0600
commit383ffbbb871470d403585289c20ad902b2137e8d (patch)
tree3d7b0785cf8bd2a1be066e703c4ce39c295bbe3f /storage/partitioning.py
parent8850f424a72feea86a10ffb96c7b586787015f35 (diff)
downloadanaconda-383ffbbb871470d403585289c20ad902b2137e8d.tar.gz
anaconda-383ffbbb871470d403585289c20ad902b2137e8d.tar.xz
anaconda-383ffbbb871470d403585289c20ad902b2137e8d.zip
Obtain device alignment information from parted. (#529051)
Diffstat (limited to 'storage/partitioning.py')
-rw-r--r--storage/partitioning.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/storage/partitioning.py b/storage/partitioning.py
index a23efb396..8c6858fbd 100644
--- a/storage/partitioning.py
+++ b/storage/partitioning.py
@@ -583,7 +583,16 @@ def getDiskAlignment(disk):
disk -- a parted.Disk instance
"""
- return parted.Alignment(offset=0, grainSize=1)
+ device = disk.device
+ try:
+ a = device.optimumAlignment.intersect(disk.partitionAlignment)
+ except ArithmeticError:
+ try:
+ a = device.minimumAlignment.intersect(disk.partitionAlignment)
+ except ArithmeticError:
+ a = disk.partitionAlignment
+
+ return a
def sectorsToSize(sectors, sectorSize):
""" Convert length in sectors to size in MB.