[blivet:rhel7/master 6/8] Remove all lvs and pvs belonging to a vg (#1043763)

David Lehman dlehman at redhat.com
Mon Feb 24 20:22:19 UTC 2014


On Mon, 2014-02-24 at 12:42 -0500, mulhern wrote:
> Resolves: rhbz#1043763
> 
> When removing a volume group device also remove
> all the logical volumes and physical volumes that belong to that
> volume group.

That may be what you want to do for the bug you are fixing, but that
method has a meaning that does not include devices that reside as
parents to the device passed in. This change is not fit for general
purpose use.

David

> 
> Signed-off-by: mulhern <amulhern at redhat.com>
> ---
>  blivet/devicetree.py | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/blivet/devicetree.py b/blivet/devicetree.py
> index 10648d2..abfe7c0 100644
> --- a/blivet/devicetree.py
> +++ b/blivet/devicetree.py
> @@ -1839,7 +1839,12 @@ class DeviceTree(object):
>                 The device itself is included among its dependents.
>              """
>              seen = seen + [device]
> -            for d in self.getChildren(device):
> +
> +            dependents = self.getChildren(device)
> +            if isinstance(device, LVMVolumeGroupDevice):
> +                dependents += device.lvs + device.pvs
> +
> +            for d in dependents:
>                  if not d in seen:
>                      seen = getDependents(d, seen)
>              return seen




More information about the anaconda-patches mailing list