summaryrefslogtreecommitdiffstats
path: root/raid.py
diff options
context:
space:
mode:
Diffstat (limited to 'raid.py')
-rw-r--r--raid.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/raid.py b/raid.py
index aa2a4c1c4..3ae39cfa7 100644
--- a/raid.py
+++ b/raid.py
@@ -160,3 +160,22 @@ def get_raid_max_spares(raidlevel, nummembers):
else:
raise ValueError, "invalid raidlevel in get_raid_max_spares"
+def register_raid_device(mdname, newdevices, newlevel, newnumActive):
+ """Register a new RAID device in the mdlist."""
+ for dev, devices, level, numActive in partedUtils.DiskSet.mdList:
+ if mdname == dev:
+ if (devices != newdevices or level != newlevel or
+ numActive != newnumActive):
+ raise ValueError, "%s is already in the mdList!" % (mdname,)
+ else:
+ return
+ partedUtils.DiskSet.mdList.append((mdname, newdevices[:], newlevel,
+ newnumActive))
+
+def lookup_raid_device(mdname):
+ """Return the requested RAID device information."""
+ for dev, devices, level, numActive in partedUtils.DiskSet.mdList:
+ if mdname == dev:
+ return (dev, devices, level, numActive)
+ raise KeyError, "md device not found"
+