summaryrefslogtreecommitdiffstats
path: root/fsset.py
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2005-04-27 20:12:55 +0000
committerChris Lumens <clumens@redhat.com>2005-04-27 20:12:55 +0000
commitb49f685e37333985100737be4d5c7a647c937afd (patch)
tree0412a3f9a3c7d0f1f7591273685114d2af71e0fd /fsset.py
parenteb9981035d294a361698c8c0175caaec0ea69801 (diff)
downloadanaconda-b49f685e37333985100737be4d5c7a647c937afd.tar.gz
anaconda-b49f685e37333985100737be4d5c7a647c937afd.tar.xz
anaconda-b49f685e37333985100737be4d5c7a647c937afd.zip
Recognize --label for the part keyword (#79832).
Diffstat (limited to 'fsset.py')
-rw-r--r--fsset.py27
1 files changed, 19 insertions, 8 deletions
diff --git a/fsset.py b/fsset.py
index ee9d1f085..5d11daee9 100644
--- a/fsset.py
+++ b/fsset.py
@@ -98,7 +98,7 @@ class LabelFactory:
def __init__(self):
self.labels = None
- def createLabel(self, mountpoint, maxLabelChars):
+ def createLabel(self, mountpoint, maxLabelChars, kslabel = None):
if self.labels == None:
self.labels = {}
@@ -109,6 +109,13 @@ class LabelFactory:
labels = diskset.getLabels()
del diskset
self.reserveLabels(labels)
+
+ # If a label was specified in the kickstart file, return that as
+ # the label - unless it's already in the reserved list. If that's
+ # the case, make a new one.
+ if kslabel and kslabel not in self.labels:
+ self.labels[kslabel] = 1
+ return kslabel
if len(mountpoint) > maxLabelChars:
mountpoint = mountpoint[0:maxLabelChars]
@@ -435,7 +442,8 @@ class xfsFileSystem(FileSystemType):
def labelDevice(self, entry, chroot):
devicePath = entry.device.setupDevice(chroot)
- label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
+ label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
+ kslabel = entry.label)
db_cmd = "label " + label
rc = iutil.execWithRedirect("/usr/sbin/xfs_db",
["xfs_db", "-x", "-c", db_cmd,
@@ -481,7 +489,8 @@ class jfsFileSystem(FileSystemType):
def labelDevice(self, entry, chroot):
devicePath = entry.device.setupDevice(chroot)
- label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
+ label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
+ kslabel = entry.label)
rc = iutil.execWithRedirect("/usr/sbin/jfs_tune",
["jfs_tune", "-L", label, devicePath],
stdout = "/dev/tty5",
@@ -516,7 +525,9 @@ class extFileSystem(FileSystemType):
def labelDevice(self, entry, chroot):
devicePath = entry.device.setupDevice(chroot)
- label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars)
+ label = labelFactory.createLabel(entry.mountpoint, self.maxLabelChars,
+ kslabel = entry.label)
+
rc = iutil.execWithRedirect("/usr/sbin/e2label",
["e2label", devicePath, label],
stdout = "/dev/tty5",
@@ -1797,13 +1808,13 @@ class FileSystemSetEntry:
mntpt = self.mountpoint
str = ("fsentry -- device: %(device)s mountpoint: %(mountpoint)s\n"
- " fsystem: %(fsystem)s format: %(format)s\n"
- " ismounted: %(mounted)s options: '%(options)s'\n"
- " bytesPerInode: %(bytesPerInode)s\n"%
+ " fsystem: %(fsystem)s format: %(format)s\n"
+ " ismounted: %(mounted)s options: '%(options)s'\n"
+ " bytesPerInode: %(bytesPerInode)s label: %(label)s\n"%
{"device": self.device.getDevice(), "mountpoint": mntpt,
"fsystem": self.fsystem.getName(), "format": self.format,
"mounted": self.mountcount, "options": self.options,
- "bytesPerInode": self.bytesPerInode})
+ "bytesPerInode": self.bytesPerInode, "label": self.label})
return str