[PATCH 1/3] Don't crash when processing cached LVs

Vratislav Podzimek vpodzime at redhat.com
Mon Jun 22 18:27:07 UTC 2015


Just ignore the unsupported "sub-LVs" and consider cached LVs normal LVs.

Related: rhbz#1120421

(ported commit d3f8aa457939916b195846b79d0d33e64584e7f3 from master)

Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
 blivet/devicetree.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/blivet/devicetree.py b/blivet/devicetree.py
index 650f06a..e691a2c 100644
--- a/blivet/devicetree.py
+++ b/blivet/devicetree.py
@@ -1447,6 +1447,9 @@ class DeviceTree(object):
                 if lv_name.endswith("_pmspare]"):
                     # spare metadata area for any thin pool that needs repair
                     return
+                elif lv_name.endswith("_cmeta]"):
+                    # cache metadata volume (skip, we ignore cache pool volumes)
+                    return
 
                 # raid metadata volume
                 lv_name = re.sub(r'_[tr]meta.*', '', lv_name[1:-1])
@@ -1484,7 +1487,7 @@ class DeviceTree(object):
             elif lv_name.endswith(']'):
                 # Internal LVM2 device
                 return
-            elif lv_attr[0] not in '-mMrRoO':
+            elif lv_attr[0] not in '-mMrRoOC':
                 # Ignore anything else except for the following:
                 #   - normal lv
                 #   m mirrored
@@ -1493,6 +1496,7 @@ class DeviceTree(object):
                 #   R raid without initial sync
                 #   o origin
                 #   O origin with merging snapshot
+                #   C cached LV
                 return
 
             lv_dev = self.getDeviceByUuid(lv_uuid)
-- 
2.1.0



More information about the anaconda-patches mailing list