diff options
author | Matt Wilson <msw@redhat.com> | 2002-11-01 19:56:30 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 2002-11-01 19:56:30 +0000 |
commit | 4aa5f1225420e510ec9a7651c16599e5c223d4a3 (patch) | |
tree | 6c26b84860943c389ec0501298179961e8be20c0 | |
parent | 69b2af6c3e8938bcbb8187b534b997d08ce15cb3 (diff) | |
download | anaconda-4aa5f1225420e510ec9a7651c16599e5c223d4a3.tar.gz anaconda-4aa5f1225420e510ec9a7651c16599e5c223d4a3.tar.xz anaconda-4aa5f1225420e510ec9a7651c16599e5c223d4a3.zip |
port to parted 1.6.xafter-parted-1-6-changes
-rw-r--r-- | autopart.py | 73 | ||||
-rw-r--r-- | bootloader.py | 2 | ||||
-rw-r--r-- | fsset.py | 2 | ||||
-rw-r--r-- | partIntfHelpers.py | 6 | ||||
-rw-r--r-- | partedUtils.py | 26 | ||||
-rw-r--r-- | partitions.py | 4 |
6 files changed, 56 insertions, 57 deletions
diff --git a/autopart.py b/autopart.py index 05bc11ff4..9d8dfff7d 100644 --- a/autopart.py +++ b/autopart.py @@ -54,7 +54,7 @@ def bootRequestCheck(requests, diskset): return BOOTEFI_NOT_VFAT pass elif iutil.getArch() == "i386": - if partedUtils.end_sector_to_cyl(part.geom.disk.dev, part.geom.end) >= 1024: + if partedUtils.end_sector_to_cyl(part.geom.dev, part.geom.end) >= 1024: return BOOT_ABOVE_1024 elif iutil.getArch() == "alpha": return bootAlphaCheckRequirements(part, diskset) @@ -75,7 +75,7 @@ def bootRequestCheck(requests, diskset): # (or so says the aboot manual.) def bootAlphaCheckRequirements(part, diskset): - disk = part.geom.disk + disk = part.disk # Disklabel check if not disk.type.name == "bsd": @@ -100,9 +100,9 @@ def printNewRequestsCyl(diskset, newRequest): continue part = partedUtils.get_partition_by_name(diskset.disks, req.device) - print req - print "Start Cyl:%s End Cyl: %s" % (partedUtils.start_sector_to_cyl(part.geom.disk.dev, part.geom.start), - partedUtils.end_sector_to_cyl(part.geom.disk.dev, part.geom.end)) +## print req +## print "Start Cyl:%s End Cyl: %s" % (partedUtils.start_sector_to_cyl(part.geom.dev, part.geom.start), +## partedUtils.end_sector_to_cyl(part.geom.dev, part.geom.end)) def printFreespaceitem(part): return partedUtils.get_partition_name(part), part.geom.start, part.geom.end, partedUtils.getPartSizeMB(part) @@ -295,7 +295,7 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): for num in number: for request in todo[num]: -# print "\nInserting ->",request +## print "\nInserting ->",request if requests.isBootable(request): isBoot = 1 else: @@ -310,7 +310,7 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): # drives. this keeps us on the first possible drive if isBoot and largestPart[1]: break -# print "Trying drive", drive +## print "Trying drive", drive disk = diskset.disks[drive] numPrimary = len(partedUtils.get_primary_partitions(disk)) @@ -345,7 +345,8 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): freeStartSec = freespace.geom.start freeEndSec = freespace.geom.end - disk = freespace.geom.disk + dev = freespace.geom.dev + disk = freespace.disk startSec = freeStartSec endSec = startSec + long(((request.requestSize * 1024L * 1024L) / disk.dev.sector_size)) - 1 @@ -366,7 +367,7 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): partType = parted.PARTITION_PRIMARY elif ret == parted.PARTITION_EXTENDED: newp = disk.partition_new(parted.PARTITION_EXTENDED, None, startSec, endSec) - constraint = disk.constraint_any() + constraint = dev.constraint_any() disk.add_partition(newp, constraint) disk.maximize_partition (newp, constraint) newParts.parts.append(newp) @@ -404,7 +405,7 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): fsType = request.fstype.getPartedFileSystemType() # log("creating newp with start=%s, end=%s, len=%s" % (startSec, endSec, endSec - startSec)) newp = disk.partition_new (partType, fsType, startSec, endSec) - constraint = disk.constraint_any () + constraint = dev.constraint_any () try: disk.add_partition (newp, constraint) @@ -419,7 +420,7 @@ def fitSized(diskset, requests, primOnly = 0, newParts = None): newp.set_flag(flag, 1) request.device = fsset.PartedPartitionDevice(newp).getDevice() - drive = newp.geom.disk.dev.path[5:] + drive = newp.geom.dev.path[5:] request.currentDrive = drive newParts.parts.append(newp) free = findFreespace(diskset) @@ -579,11 +580,11 @@ def growParts(diskset, requests, newParts): #### newRequest = requests.copy() -# print "new requests" -# printNewRequestsCyl(diskset, requests) -# print "orig requests" -# printNewRequestsCyl(diskset, newRequest) -# print "\n\n\n" +## print "new requests" +## printNewRequestsCyl(diskset, requests) +## print "orig requests" +## printNewRequestsCyl(diskset, newRequest) +## print "\n\n\n" (free, freeSize) = getFreeSpace(diskset) @@ -605,9 +606,9 @@ def growParts(diskset, requests, newParts): if not growable.keys(): return PARTITION_SUCCESS -# print "new requests before looping" -# printNewRequestsCyl(diskset, requests) -# print "\n\n\n" +## print "new requests before looping" +## printNewRequestsCyl(diskset, requests) +## print "\n\n\n" # loop over all drives, grow all growable partitions one at a time grownList = [] @@ -675,8 +676,8 @@ def growParts(diskset, requests, newParts): # print "leaving inner loop because no more space on %s\n\n" % drive break -# print "\nprocessing ID",request.uniqueID, request.mountpoint -# print "growSize, freeSize = ",growSize[drive], freeSize[drive] +## print "\nprocessing ID",request.uniqueID, request.mountpoint +## print "growSize, freeSize = ",growSize[drive], freeSize[drive] donegrowing = 0 @@ -692,9 +693,9 @@ def growParts(diskset, requests, newParts): growby = cylsectors; maxsect = startSize + growby -# print request -# print "percent, growby, maxsect, free", percent, growby, maxsect,freeSize[drive], startSize, lastFreeSize -# print "max is ",maxsect +## print request +## print "percent, growby, maxsect, free", percent, growby, maxsect,freeSize[drive], startSize, lastFreeSize +## print "max is ",maxsect imposedMax = 0 if request.maxSizeMB: @@ -716,8 +717,8 @@ def growParts(diskset, requests, newParts): maxsect = long(maxFSSize) imposedMax = 1 -# print "freesize, max = ",freeSize[drive],maxsect -# print "startsize = ",startSize +## print "freesize, max = ",freeSize[drive],maxsect +## print "startsize = ",startSize min = startSize max = maxsect @@ -726,21 +727,21 @@ def growParts(diskset, requests, newParts): lastDiff = 0 # binary search -# print "start min, max, cur, diffs = ",min,max,cur,diff,lastDiff +## print "start min, max, cur, diffs = ",min,max,cur,diff,lastDiff inner_iter = 0 ret = PARTITION_SUCCESS # request succeeded with initial size while (max != min) and (lastDiff != diff) and (inner_iter < 2000): -# printNewRequestsCyl(diskset, newRequest) +## printNewRequestsCyl(diskset, newRequest) # XXX need to request in sectors preferably, more accurate -# print "trying cur=%s" % cur +## print "trying cur=%s" % cur request.requestSize = (cur*sector_size)/1024.0/1024.0 # try adding (ret, msg) = processPartitioning(diskset, newRequest, newParts) -# if ret == PARTITION_FAIL: -# print "!!!!!!!!!!! processPartitioning failed - %s" % msg - +## if ret == PARTITION_FAIL: +## print "!!!!!!!!!!! processPartitioning failed - %s" % msg + if ret == PARTITION_SUCCESS: min = cur else: @@ -833,7 +834,7 @@ def processPartitioning(diskset, requests, newParts): for part in newParts.parts: if part.type == parted.PARTITION_EXTENDED: - extendeds[part.geom.disk.dev.path] = None + extendeds[part.geom.dev.path] = None # Go through the list again and check for each logical partition we have. # If we created the extended partition on the same device as the logical @@ -842,7 +843,7 @@ def processPartitioning(diskset, requests, newParts): dellist = [] for part in newParts.parts: if (part.type & parted.PARTITION_LOGICAL - and extendeds.has_key(part.geom.disk.dev.path)): + and extendeds.has_key(part.geom.dev.path)): dellist.append(part) for part in dellist: @@ -851,9 +852,7 @@ def processPartitioning(diskset, requests, newParts): # Finally, remove all of the partitions we added in the last try from # the disks. We'll start again from there. for part in newParts.parts: - disk = part.geom.disk -# disk = diskset.disks[partedUtils.get_partition_drive(part)] - disk.delete_partition(part) + part.disk.delete_partition(part) newParts.reset() diff --git a/bootloader.py b/bootloader.py index e834fb5ce..aaa45a285 100644 --- a/bootloader.py +++ b/bootloader.py @@ -60,7 +60,7 @@ def bootloaderSetupChoices(dispatch, bl, fsset, diskSet, dir): bootDev = fsset.getEntryByMountPoint("/boot") part = partedUtils.get_partition_by_name(diskSet.disks, bootDev.device.getDevice()) - if part and partedUtils.end_sector_to_cyl(part.geom.disk.dev, + if part and partedUtils.end_sector_to_cyl(part.geom.dev, part.geom.end) >= 1024: bl.above1024 = 1 @@ -672,7 +672,7 @@ fileSystemTypeRegister(swapFileSystem()) class FATFileSystem(FileSystemType): def __init__(self): FileSystemType.__init__(self) - self.partedFileSystemType = parted.file_system_type_get("FAT") + self.partedFileSystemType = parted.file_system_type_get("fat32") self.formattable = 1 self.checked = 0 self.maxSizeMB = 2 * 1024 diff --git a/partIntfHelpers.py b/partIntfHelpers.py index c7b838a98..1cc9ad5b2 100644 --- a/partIntfHelpers.py +++ b/partIntfHelpers.py @@ -193,7 +193,7 @@ def doDeletePartitionByRequest(intf, requestlist, partition, drive = partedUtils.get_partition_drive(partition) if partition.type & parted.PARTITION_EXTENDED: - requestlist.deleteAllLogicalPartitions(partition) + requestlist.deleteAllLogicalPartitions(disk, partition) delete = partRequests.DeleteSpec(drive, partition.geom.start, partition.geom.end) @@ -335,9 +335,9 @@ def doEditPartitionByRequest(intf, requestlist, part): return (None, None) elif part.type & parted.PARTITION_FREESPACE: request = partRequests.PartitionSpec(fsset.fileSystemTypeGetDefault(), - start = partedUtils.start_sector_to_cyl(part.geom.disk.dev, + start = partedUtils.start_sector_to_cyl(part.geom.dev, part.geom.start), - end = partedUtils.end_sector_to_cyl(part.geom.disk.dev, + end = partedUtils.end_sector_to_cyl(part.geom.dev, part.geom.end), drive = [ partedUtils.get_partition_drive(part) ]) diff --git a/partedUtils.py b/partedUtils.py index 071c448f0..867e3c5ec 100644 --- a/partedUtils.py +++ b/partedUtils.py @@ -81,7 +81,7 @@ def getPartSize(partition): def getPartSizeMB(partition): """Return the size of partition in megabytes.""" - return (partition.geom.length * partition.geom.disk.dev.sector_size + return (partition.geom.length * partition.geom.dev.sector_size / 1024.0 / 1024.0) def getDeviceSizeMB(dev): @@ -104,7 +104,7 @@ def get_partition_by_name(disks, partname): part = disk.next_partition() while part: if get_partition_name(part) == partname: - return part + return part part = disk.next_partition(part) @@ -112,11 +112,11 @@ def get_partition_by_name(disks, partname): def get_partition_name(partition): """Return the device name for the PedPartition partition.""" - if (partition.geom.disk.dev.type == parted.DEVICE_DAC960 - or partition.geom.disk.dev.type == parted.DEVICE_CPQARRAY): - return "%sp%d" % (partition.geom.disk.dev.path[5:], + if (partition.geom.dev.type == parted.DEVICE_DAC960 + or partition.geom.dev.type == parted.DEVICE_CPQARRAY): + return "%sp%d" % (partition.geom.dev.path[5:], partition.num) - return "%s%d" % (partition.geom.disk.dev.path[5:], + return "%s%d" % (partition.geom.dev.path[5:], partition.num) @@ -161,7 +161,7 @@ def set_partition_file_system_type(part, fstype): def get_partition_drive(partition): """Return the device name for disk that PedPartition partition is on.""" - return "%s" %(partition.geom.disk.dev.path[5:]) + return "%s" %(partition.geom.dev.path[5:]) def map_foreign_to_fsname(type): """Return the partition type associated with the numeric type.""" @@ -535,7 +535,7 @@ class DiskSet: """Write the partition tables out to the disks.""" for disk in self.disks.values(): disk.write() - disk.close() + #disk.close() del disk self.refreshDevices() @@ -549,7 +549,7 @@ class DiskSet: def closeDevices (self): """Close all of the disks which are open.""" for disk in self.disks.keys(): - self.disks[disk].close() + #self.disks[disk].close() del self.disks[disk] def dasdFmt (self, intf = None, drive = None): @@ -652,14 +652,14 @@ class DiskSet: or drive in clearDevs) and not flags.test): try: dev.disk_create(getDefaultDiskType()) - disk = parted.PedDisk.open(dev) + disk = parted.PedDisk.new(dev) self.disks[drive] = disk except parted.error, msg: DiskSet.skippedDisks.append(drive) continue try: - disk = parted.PedDisk.open(dev) + disk = parted.PedDisk.new(dev) self.disks[drive] = disk except parted.error, msg: recreate = 0 @@ -695,7 +695,7 @@ class DiskSet: DiskSet.skippedDisks.append(drive) continue try: - disk = parted.PedDisk.open(dev) + disk = parted.PedDisk.new(dev) self.disks[drive] = disk except parted.error, msg: DiskSet.skippedDisks.append(drive) @@ -718,7 +718,7 @@ class DiskSet: DiskSet.skippedDisks.append(drive) continue try: - disk = parted.PedDisk.open(dev) + disk = parted.PedDisk.new(dev) self.disks[drive] = disk except parted.error, msg: DiskSet.skippedDisks.append(drive) diff --git a/partitions.py b/partitions.py index a8a494327..b2f35282f 100644 --- a/partitions.py +++ b/partitions.py @@ -1061,7 +1061,7 @@ class Partitions: def deleteAllLogicalPartitions(self, part): """Add delete specs for all logical partitions in part.""" - for partition in partedUtils.get_logical_partitions(part.geom.disk): + for partition in partedUtils.get_logical_partitions(part.disk): partName = partedUtils.get_partition_name(partition) request = self.getRequestByDeviceName(partName) self.removeRequest(request) @@ -1079,7 +1079,7 @@ class Partitions: if not part.type & parted.PARTITION_EXTENDED: return None - disk = part.geom.disk + disk = part.disk while part: if not part.is_active(): part = disk.next_partition(part) |