summaryrefslogtreecommitdiffstats
path: root/partitioning.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-06-26 22:49:03 +0000
committerJeremy Katz <katzj@redhat.com>2001-06-26 22:49:03 +0000
commitd0625fe5a04a40bdd8f8873195f2ab41bc43a101 (patch)
tree6817118db545aca54b4805ce13870fa7f5626cb9 /partitioning.py
parent4f4c64552c1d924a26df77df7c3090d4a7b63770 (diff)
downloadanaconda-d0625fe5a04a40bdd8f8873195f2ab41bc43a101.tar.gz
anaconda-d0625fe5a04a40bdd8f8873195f2ab41bc43a101.tar.xz
anaconda-d0625fe5a04a40bdd8f8873195f2ab41bc43a101.zip
land new autopartitioning code... should be faster and better.
also, fix up some bits so we don't refreshdevices as often
Diffstat (limited to 'partitioning.py')
-rw-r--r--partitioning.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/partitioning.py b/partitioning.py
index babb6e847..52043043f 100644
--- a/partitioning.py
+++ b/partitioning.py
@@ -26,6 +26,7 @@ import fsset
import os
from translate import _
from log import log
+from constants import *
from flags import flags
# different types of partition requests
@@ -86,8 +87,27 @@ def end_cyl_to_sector(device, cyl):
return long(((cyl) * (device.heads * device.sectors)) - 1)
def getPartSize(partition):
+ return partition.geom.length
+
+def getPartSizeMB(partition):
return partition.geom.length * partition.geom.disk.dev.sector_size / 1024.0 / 1024.0
+def get_partition_by_name(disks, partname):
+ for diskname in disks.keys():
+ disk = disks[diskname]
+ part = disk.next_partition()
+ while part:
+ if part.type & parted.PARTITION_FREESPACE or part.type & parted.PARTITION_METADATA:
+ part = disk.next_partition(part)
+ continue
+
+ if get_partition_name(part) == partname:
+ return part
+
+ part = disk.next_partition(part)
+
+ return None
+
def get_partition_name(partition):
if (partition.geom.disk.dev.type == parted.DEVICE_DAC960
or partition.geom.disk.dev.type == parted.DEVICE_CPQARRAY):
@@ -836,9 +856,13 @@ class DiskSet:
part = disk.next_partition(part)
return rc
-def partitionObjectsInitialize(id):
+def partitionObjectsInitialize(id, dir):
+ if dir == DISPATCH_BACK:
+ return
+
# read in drive info
id.diskset = DiskSet()
+ id.diskset.refreshDevices()
id.partrequests = PartitionRequests(id.diskset)
def partitionMethodSetup(id, dispatch):