[PATCH] Fix handling of flexible specs in onpart for member devices. (#1004885)
Vratislav Podzimek
vpodzime at redhat.com
Mon Sep 9 20:12:58 UTC 2013
On Mon, 2013-09-09 at 12:57 -0500, David Lehman wrote:
> Short version: don't assume onPart identifier is a name/path.
>
> Longer version:
> If an existing pv was specified using --onpart=UUID=<uuid> the
> immediate onpart resolution worked, but the volgroup would then fail
> to resolve the pv.xxx to a device because it assumed the onpart data
> was a name.
> ---
> pyanaconda/kickstart.py | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
> index e3f8895..d6baaaa 100644
> --- a/pyanaconda/kickstart.py
> +++ b/pyanaconda/kickstart.py
> @@ -314,7 +314,7 @@ class BTRFSData(commands.btrfs.F17_BTRFSData):
> # if using --onpart, use original device
> member_name = ksdata.onPart.get(member, member)
> if member_name:
> - dev = devicetree.getDeviceByName(member_name) or lookupAlias(devicetree, member)
> + dev = devicetree.getDeviceByName(udev.udev_resolve_devspec(member_name)) or lookupAlias(devicetree, member)
> if not dev:
> dev = devicetree.resolveDevice(member)
>
> @@ -1131,7 +1131,7 @@ class RaidData(commands.raid.F18_RaidData):
> for member in self.members:
> # if member is using --onpart, use original device
> mem = ksdata.onPart.get(member, member)
> - dev = devicetree.getDeviceByName(mem) or lookupAlias(devicetree, mem)
> + dev = devicetree.getDeviceByName(udev.udev_resolve_devspec(mem)) or lookupAlias(devicetree, mem)
> if dev and dev.format.type == "luks":
> try:
> dev = devicetree.getChildren(dev)[0]
> @@ -1350,7 +1350,7 @@ class VolGroupData(commands.volgroup.FC16_VolGroupData):
> for pv in self.physvols:
> # if pv is using --onpart, use original device
> pv = ksdata.onPart.get(pv, pv)
> - dev = devicetree.getDeviceByName(pv) or lookupAlias(devicetree, pv)
> + dev = devicetree.getDeviceByName(udev.udev_resolve_devspec(pv)) or lookupAlias(devicetree, pv)
> if dev and dev.format.type == "luks":
> try:
> dev = devicetree.getChildren(dev)[0]
ACK.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list