[blivet:master 17/26] Check for required methods in MDRaidLevels.isRaidLevel.
mulhern
amulhern at redhat.com
Thu May 29 18:47:35 UTC 2014
Signed-off-by: mulhern <amulhern at redhat.com>
---
blivet/devicelibs/mdraid.py | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/blivet/devicelibs/mdraid.py b/blivet/devicelibs/mdraid.py
index b17a25a..75f7ffe 100644
--- a/blivet/devicelibs/mdraid.py
+++ b/blivet/devicelibs/mdraid.py
@@ -37,12 +37,11 @@ MD_CHUNK_SIZE = Size("512 KiB")
class MDRaidLevels(raid.RAIDLevels):
@classmethod
def isRaidLevel(cls, level):
- """Every mdraid level must define min_members."""
- try:
- min_members = level.min_members
- return super(MDRaidLevels, cls).isRaidLevel(level) and min_members > 0
- except AttributeError:
- return False
+ return super(MDRaidLevels, cls).isRaidLevel(level) and \
+ hasattr(level, 'get_max_spares') and \
+ hasattr(level, 'get_base_member_size') and \
+ hasattr(level, 'get_recommended_stride') and \
+ hasattr(level, 'get_size')
_RAID_levels = MDRaidLevels(["raid0", "raid1", "raid4", "raid5", "raid6", "raid10", "container"])
--
1.8.3.1
More information about the anaconda-patches
mailing list