summaryrefslogtreecommitdiffstats
path: root/partedUtils.py
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2008-03-18 13:15:11 -0400
committerChris Lumens <clumens@redhat.com>2008-03-18 13:15:29 -0400
commit0af7118d1d9e1df878cdeee8bd47d17edc7a1b1c (patch)
tree994502bded93fa8a8ceccc186d8ec1a9167ebaf5 /partedUtils.py
parent962560c6d0804f189a86d76f4904fe8b5b069e5d (diff)
downloadanaconda-0af7118d1d9e1df878cdeee8bd47d17edc7a1b1c.tar.gz
anaconda-0af7118d1d9e1df878cdeee8bd47d17edc7a1b1c.tar.xz
anaconda-0af7118d1d9e1df878cdeee8bd47d17edc7a1b1c.zip
Support reading the UUID from the disk like we do with labels.
This fixes mounting disks by UUID in upgrades and probably rescue mode as well.
Diffstat (limited to 'partedUtils.py')
-rw-r--r--partedUtils.py29
1 files changed, 16 insertions, 13 deletions
diff --git a/partedUtils.py b/partedUtils.py
index 0f1c6b5ba..4c050efa5 100644
--- a/partedUtils.py
+++ b/partedUtils.py
@@ -669,9 +669,12 @@ class DiskSet:
while DiskSet.mdList:
DiskSet.mdList.pop()
- def getLabels(self):
- """Return a list of all of the labels used on partitions."""
- labels = {}
+ def getInfo(self, readFn=lambda d: isys.readFSLabel(d)):
+ """Return a dict keyed on device name, storing some sort of data
+ about each device. This is typially going to be labels or UUIDs,
+ as required by readFstab.
+ """
+ ret = {}
if self.anaconda is not None:
encryptedDevices = self.anaconda.id.partitions.encryptedDevices
@@ -701,9 +704,9 @@ class DiskSet:
if crypto and not crypto.openDevice():
node = crypto.getDevice()
- label = isys.readFSLabel(node)
- if label:
- labels[node] = label
+ val = readFn(node)
+ if val:
+ ret[node] = val
if crypto:
crypto.closeDevice()
@@ -721,9 +724,9 @@ class DiskSet:
if crypto and not crypto.openDevice():
dev = crypto.getDevice()
- label = isys.readFSLabel(dev)
- if label:
- labels[dev] = label
+ val = readFn(dev)
+ if val:
+ ret[dev] = val
if crypto:
crypto.closeDevice()
@@ -741,9 +744,9 @@ class DiskSet:
if crypto and not crypto.openDevice():
node = crypto.getDevice()
- label = isys.readFSLabel("/dev/" + node)
- if label:
- labels[node] = label
+ val = readFn("/dev/" + node)
+ if val:
+ ret[node] = val
if crypto:
crypto.closeDevice()
@@ -751,7 +754,7 @@ class DiskSet:
if not active:
lvm.vgdeactivate()
- return labels
+ return ret
def findExistingRootPartitions(self, upgradeany = 0):
"""Return a list of all of the partitions which look like a root fs."""