summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-08-15 16:54:49 +0000
committerJeremy Katz <katzj@redhat.com>2001-08-15 16:54:49 +0000
commit9be6c734b0b0089e28f4be0e61eb4cb2a3ba70d6 (patch)
treea8dafe1e12edb9f55ebb160b1371c82479470523
parentac25873572add4cb5ff688cc426bdc6405980341 (diff)
downloadanaconda-9be6c734b0b0089e28f4be0e61eb4cb2a3ba70d6.tar.gz
anaconda-9be6c734b0b0089e28f4be0e61eb4cb2a3ba70d6.tar.xz
anaconda-9be6c734b0b0089e28f4be0e61eb4cb2a3ba70d6.zip
going back and doing autopartitioning on a hard drive install more than once was horked because we didn't reset the protected partitions
-rw-r--r--autopart.py3
-rw-r--r--dispatch.py2
-rw-r--r--partitioning.py15
3 files changed, 13 insertions, 7 deletions
diff --git a/autopart.py b/autopart.py
index 43797c344..8f75c5d24 100644
--- a/autopart.py
+++ b/autopart.py
@@ -822,7 +822,7 @@ def doClearPartAction(partitions, diskset):
deletePart(diskset, delete)
continue
-def doAutoPartition(dir, diskset, partitions, intf, instClass):
+def doAutoPartition(dir, diskset, partitions, intf, instClass, dispatch):
if instClass.name and instClass.name == "kickstart":
isKickstart = 1
else:
@@ -831,6 +831,7 @@ def doAutoPartition(dir, diskset, partitions, intf, instClass):
if dir == DISPATCH_BACK:
diskset.refreshDevices()
partitions.setFromDisk(diskset)
+ setProtected(partitions, dispatch)
return
# if no auto partition info in instclass we bail
diff --git a/dispatch.py b/dispatch.py
index 70c892b19..929b513b2 100644
--- a/dispatch.py
+++ b/dispatch.py
@@ -64,7 +64,7 @@ installSteps = [
("autopartition", ("id.diskset", "id.partitions", "intf", "dispatch")),
("autopartitionexecute", doAutoPartition, ("dir", "id.diskset",
"id.partitions", "intf",
- "id.instClass")),
+ "id.instClass", "dispatch")),
("fdisk", ("id.diskset", "id.partitions", "intf")),
("partition", ("id.fsset", "id.diskset", "id.partitions", "intf")),
("upgrademount", upgradeMountFilesystems, ("intf", "id.upgradeRoot",
diff --git a/partitioning.py b/partitioning.py
index 5b215deec..fac72bc2a 100644
--- a/partitioning.py
+++ b/partitioning.py
@@ -1504,6 +1504,15 @@ def partitionObjectsInitialize(diskset, partitions, dir, intf):
partitions.setFromDisk(diskset)
+# set the protected partitions
+def setProtected(partitions, dispatch):
+ protected = dispatch.method.protectedPartitions()
+ if protected:
+ for device in protected:
+ log("%s is a protected partition" % (device))
+ request = partitions.getRequestByDeviceName(device)
+ request.type = REQUEST_PROTECTED
+
def partitionMethodSetup(partitions, dispatch):
# turn on/off step based on 3 paths:
@@ -1517,11 +1526,7 @@ def partitionMethodSetup(partitions, dispatch):
skip = not partitions.useAutopartitioning)
dispatch.skipStep("fdisk", skip = not partitions.useFdisk)
- protected = dispatch.method.protectedPartitions()
- if protected:
- for device in protected:
- request = partitions.getRequestByDeviceName(device)
- request.type = REQUEST_PROTECTED
+ setProtected(partitions, dispatch)
# shorthand mainly for installclasses