summaryrefslogtreecommitdiffstats
path: root/partitioning.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-07-17 18:49:21 +0000
committerJeremy Katz <katzj@redhat.com>2001-07-17 18:49:21 +0000
commite0e0f42e7a82ace44730ba8b69739be305d3c987 (patch)
treec341bbf2cdeb2cb6809761cfe55812c25d686cd8 /partitioning.py
parentb359ed47aa6ee7562ccd77ca7f4aef492ec4859b (diff)
downloadanaconda-e0e0f42e7a82ace44730ba8b69739be305d3c987.tar.gz
anaconda-e0e0f42e7a82ace44730ba8b69739be305d3c987.tar.xz
anaconda-e0e0f42e7a82ace44730ba8b69739be305d3c987.zip
add clearpart --initlabel support (43085)
Diffstat (limited to 'partitioning.py')
-rw-r--r--partitioning.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/partitioning.py b/partitioning.py
index c52a747d9..2fbe7090e 100644
--- a/partitioning.py
+++ b/partitioning.py
@@ -644,6 +644,9 @@ class Partitions:
# problems later on
self.nextUniqueID = 1
+ # reinitialize all partitions to default labels?
+ self.reinitializeDisks = 0
+
# partition method
self.useAutopartitioning = 1
self.useFdisk = 0
@@ -804,7 +807,7 @@ class Partitions:
new.nextUniqueID = self.nextUniqueID
new.useAutopartitioning = self.useAutopartitioning
new.useFdisk = self.useFdisk
-
+ new.reinitializeDisks = self.reinitializeDisks
return new
@@ -966,19 +969,19 @@ class DiskSet:
del disk
self.refreshDevices()
- def refreshDevices (self, intf = None):
+ def refreshDevices (self, intf = None, initAll = 0):
self.disks = {}
- self.openDevices(intf)
+ self.openDevices(intf, initAll)
def closeDevices (self):
for disk in self.disks.keys():
del self.disks[disk]
- def openDevices (self, intf = None):
+ def openDevices (self, intf = None, initAll = 0):
if self.disks:
return
for drive in self.driveList ():
- if drive in DiskSet.skippedDisks:
+ if drive in DiskSet.skippedDisks and not initAll:
continue
deviceFile = isys.makeDevInode(drive)
if isys.driveIsRemovable(drive) and not flags.expert:
@@ -989,6 +992,15 @@ class DiskSet:
except parted.error, msg:
DiskSet.skippedDisks.append(drive)
continue
+ if initAll:
+ try:
+ dev.disk_create(getDefaultDiskType())
+ disk = parted.PedDisk.open(dev)
+ self.disks[drive] = disk
+ except parted.error, msg:
+ DiskSet.skippedDisks.append(drive)
+ continue
+
try:
disk = parted.PedDisk.open(dev)
self.disks[drive] = disk
@@ -1070,7 +1082,7 @@ def partitionObjectsInitialize(diskset, partitions, dir, intf):
return
# read in drive info
- diskset.refreshDevices(intf)
+ diskset.refreshDevices(intf, partitions.reinitializeDisks)
if len(diskset.disks.keys()) == 0:
intf.messageWindow(_("No Drives Found"),