diff options
author | Jeremy Katz <katzj@redhat.com> | 2001-06-21 17:05:24 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2001-06-21 17:05:24 +0000 |
commit | a6ee6841c5d26001e6dde9c7e73e22a69ebd6602 (patch) | |
tree | e7290fe93f0485491e341c2c8baa65195f43ab54 | |
parent | 1a066b6074c52a6e8963a0f2de45e81a4f33e4ed (diff) | |
download | anaconda-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.py | 2 | ||||
-rw-r--r-- | partitioning.py | 15 | ||||
-rw-r--r-- | textw/partition_text.py | 60 |
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), |