[PATCH 1/2] support specifying existing BTRFS subvolumes with noformat
Gene Czarcinski
gene at czarc.net
Mon Oct 14 13:33:02 UTC 2013
Specifying an existing BTRFS subvolume in a kickstart file
is now supported with --noformat. When --noformat is
pecified, the BTRFS subvolume will be added to the /etc/fstab
definition with the UUID of the BTRFS parent volume.
The use of --noformat replaces the use of --useexisting although
currently there is no difference. A test is added just in case
noformat is specified for a BTRFS volume.
This patch was developed against git level anaconda-20-22-1,
built on a Fedora TC1+ system and tested by running
F20-beta-TC2 installation with all repos enabled onto a KVM virtual.
---
pyanaconda/kickstart.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 34929b9..739f716 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -346,13 +346,20 @@ class BTRFSData(commands.btrfs.F17_BTRFSData):
if self.mountpoint != "" and self.mountpoint[0] != '/':
raise KickstartValueError(formatErrorMsg(self.lineno,
msg="The mount point \"%s\" is not valid." % (self.mountpoint,)))
- if self.preexist:
+ if not self.format: # --noformat
+ if not self.subvol:
+ raise KickstartValueError(formatErrorMsg(self.lineno,
msg="Specifying btrfs command for existing volume %s invalid" % self.name))
+
device = devicetree.getDeviceByName(self.name)
if not device:
device = udev.udev_resolve_devspec(self.name)
if not device:
raise KickstartValueError(formatErrorMsg(self.lineno,
msg="Specified nonexistent BTRFS volume %s in btrfs command" % self.name))
+ device.format.mountpoint = self.mountpoint
+ device.format.mountopts = "subvol=%s" % (self.name)
+ device.format.uuid = dev.uuid # use the UUID from the
parent (the BTRFS Volume)
+ return
else:
# If a previous device has claimed this mount point,
delete the
# old one.
--
1.8.3.1
More information about the anaconda-patches
mailing list