summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-06-21 17:05:24 +0000
committerJeremy Katz <katzj@redhat.com>2001-06-21 17:05:24 +0000
commita6ee6841c5d26001e6dde9c7e73e22a69ebd6602 (patch)
treee7290fe93f0485491e341c2c8baa65195f43ab54
parent1a066b6074c52a6e8963a0f2de45e81a4f33e4ed (diff)
downloadanaconda-a6ee6841c5d26001e6dde9c7e73e22a69ebd6602.tar.gz
anaconda-a6ee6841c5d26001e6dde9c7e73e22a69ebd6602.tar.xz
anaconda-a6ee6841c5d26001e6dde9c7e73e22a69ebd6602.zip
comment out some debugging prints
editable raid requests for tui fix the mountpoint in use check
-rw-r--r--autopart.py2
-rw-r--r--partitioning.py15
-rw-r--r--textw/partition_text.py60
3 files changed, 47 insertions, 30 deletions
diff --git a/autopart.py b/autopart.py
index 959e73586..bec3f0a8d 100644
--- a/autopart.py
+++ b/autopart.py
@@ -229,7 +229,7 @@ def growParts(diskset, requests):
for part in free[key]:
freeSize[key] = freeSize[key] + getPartSize(part)
- print freeSize
+# print freeSize
# find growable partitions and find out the size of the growable parts
growable = {}
diff --git a/partitioning.py b/partitioning.py
index 9f9aeae0b..650e281ce 100644
--- a/partitioning.py
+++ b/partitioning.py
@@ -160,7 +160,6 @@ def get_available_raid_partitions(diskset, requests):
if not used:
rc.append(part)
-
return rc
# return minimum numer of raid members required for a raid level
@@ -244,16 +243,12 @@ def isMountPointInUse(reqpartitions, newrequest):
for request in reqpartitions.requests:
if request.mountpoint == mntpt:
used = 0
- if newrequest.type == REQUEST_RAID:
- if request.raidmembers != newrequest.raidmembers:
- used = 1
- else:
- if request.start != newrequest.start:
- used = 1
+ if not newrequest.device or request.device != newrequest.device:
+ used = 1
if used:
return _("The mount point %s is already in use, please "
- "choose a different mount point." % (mntpt))
+ "choose a different mount point." %(mntpt))
return None
@@ -316,7 +311,6 @@ def sanityCheckRaidRequest(reqpartitions, newraid):
for member in newraid.raidmembers:
part = member.partition
-
if part.get_flag(parted.PARTITION_RAID) != 1:
return _("Some members of RAID request are not RAID partitions.")
@@ -383,6 +377,7 @@ class PartitionSpec:
self.constraint = constraint
self.partition = None
self.requestSize = size
+ # XXX these are PartedPartitionDevice, should be requests
self.raidmembers = raidmembers
self.raidlevel = raidlevel
self.raidspares = raidspares
@@ -444,7 +439,7 @@ class PartitionRequests:
self.setFromDisk(diskset)
# identifier used for raid partitions
- self.maxcontainer = 0
+ self.maxcontainer = 1
def setFromDisk(self, diskset):
diff --git a/textw/partition_text.py b/textw/partition_text.py
index 2e746fbb0..907067db1 100644
--- a/textw/partition_text.py
+++ b/textw/partition_text.py
@@ -29,11 +29,11 @@ from log import log
class PartitionWindow:
def populate(self):
+ # XXX we really should separate this stuff out into interface
+ # independent bits...
self.lb.clear()
- # dict of dev name -> (disk, partition) mappings
- self.parttable = {}
-
+ # first, add the drives and partitions to the list
drives = self.diskset.disks.keys()
drives.sort()
for drive in drives:
@@ -54,16 +54,12 @@ class PartitionWindow:
ptype = _("Free space")
elif part.type & parted.PARTITION_EXTENDED:
ptype = _("Extended")
- self.parttable[devify(get_partition_name(part))] = (disk, part)
elif part.get_flag(parted.PARTITION_RAID) == 1:
ptype = _("software RAID component")
- self.parttable[devify(get_partition_name(part))] = (disk, part)
elif part.fs_type:
ptype = part.fs_type.name
- self.parttable[devify(get_partition_name(part))] = (disk, part)
else:
ptype = _("None")
- self.parttable[devify(get_partition_name(part))] = (disk, part)
device = get_partition_name(part)
request = self.partitions.getRequestByDeviceName(device)
@@ -107,8 +103,30 @@ class PartitionWindow:
"%s" %(ptype),
"%s" %(mount)], part,
[LEFT, RIGHT, RIGHT, RIGHT, LEFT, LEFT])
- part = disk.next_partition(part)
+ part = disk.next_partition(part)
+
+ # next, add the raid partitions
+ raidcounter = 0
+ raidrequests = self.partitions.getRaidRequests()
+ if raidrequests:
+ for request in raidrequests:
+ if request and request.mountpoint:
+ mount = request.mountpoint
+ else:
+ mount = ""
+ if request.fstype:
+ ptype = request.fstype.getName()
+ else:
+ ptype = _("None")
+
+ device = _("RAID Device %s" %(str(raidcounter)))
+ size = get_raid_device_size(request) / 1024.0 / 1024.0
+ self.lb.append(["%s" %(device),
+ "", "", "%dM" %(size),
+ "%s" %(ptype), "%s" %(mount)], request.device,
+ [LEFT, RIGHT, RIGHT, RIGHT, LEFT, LEFT])
+
def refresh(self):
# XXX need some way to stay at the same place in the list after
@@ -322,9 +340,9 @@ class PartitionWindow:
for part in get_raid_partitions(self.diskset.disks[disk]):
name = get_partition_name(part)
if request.raidmembers and name in request.raidmembers:
- drivelist.append(name, selected = 1)
+ drivelist.append(name, part, selected = 1)
else:
- drivelist.append(name, selected = 0)
+ drivelist.append(name, part, selected = 0)
subgrid.setField(drivelist, 0, 1)
return (drivelist, subgrid)
@@ -459,7 +477,7 @@ class PartitionWindow:
else:
allowdrives = []
for i in drivelist.getSelection():
- allowdrives.append(self.diskset.disks[i])
+ allowdrives.append(i)
request.drive = allowdrives
else:
request.start = int(start.value())
@@ -540,6 +558,9 @@ class PartitionWindow:
else:
format = None
+ if raidrequest.format == 1:
+ format.setValue("*")
+
drivegrid.setField(miscgrid, 1, 0, anchorTop=1)
poplevel.add(drivegrid, 0, row, (0,1,0,0))
@@ -564,7 +585,7 @@ class PartitionWindow:
raidmembers = []
for drive in drivelist.getSelection():
- raidmembers.append(drive)
+ raidmembers.append(PartedPartitionDevice(drive))
request.raidmembers = raidmembers
request.raidspares = int(spares.value())
request.raidlevel = raidtype.current()
@@ -574,18 +595,15 @@ class PartitionWindow:
else:
request.format = 0
- err = sanityCheckPartitionRequest(self.partitions, request)
+ err = sanityCheckRaidRequest(self.partitions, request)
if err:
self.intf.messageWindow(_("Error With Request"),
"%s" % (err))
continue
- # XXX should only remove if we know we put it in before
- try:
+ if self.partitions.getRequestByDeviceName(raidrequest.device):
self.partitions.removeRequest(raidrequest)
- except:
- print "failed to remove request"
- self.partitions.addRequest(request)
+ self.partitions.addRequest(request)
break
@@ -606,11 +624,15 @@ class PartitionWindow:
def editCb(self):
part = self.lb.current()
- if not part:
+ if part == None:
ButtonChoiceWindow(self.screen, _("Not a Partition"),
_("You must select a partition to edit"),
buttons = [ TEXT_OK_BUTTON ] )
return
+ elif type(part) == type("RAID"):
+ request = self.partitions.getRequestByDeviceName(part)
+ self.editRaidRequest(request)
+ return
elif part.type & parted.PARTITION_FREESPACE:
request = PartitionSpec(fileSystemTypeGetDefault(), REQUEST_NEW,
start = start_sector_to_cyl(part.geom.disk.dev, part.geom.start),