summaryrefslogtreecommitdiffstats
path: root/raid.py
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2000-03-31 16:22:01 +0000
committerMike Fulbright <msf@redhat.com>2000-03-31 16:22:01 +0000
commit1c8aed3e33b6bf94ab89cce9e643fc5935649e32 (patch)
treec86683a198b0660d524c8568b64f87fc14f27e68 /raid.py
parent533a2c1099053eea41d4a81a0e7a4cdad9a41eb4 (diff)
downloadanaconda-1c8aed3e33b6bf94ab89cce9e643fc5935649e32.tar.gz
anaconda-1c8aed3e33b6bf94ab89cce9e643fc5935649e32.tar.xz
anaconda-1c8aed3e33b6bf94ab89cce9e643fc5935649e32.zip
wasn't scanning past first drive\!
Diffstat (limited to 'raid.py')
-rw-r--r--raid.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/raid.py b/raid.py
index a74bc6fde..cee38243c 100644
--- a/raid.py
+++ b/raid.py
@@ -5,6 +5,9 @@ import isys
import os
def scanForRaid(drives):
+ raidSets = {}
+ raidDevices = {}
+
for d in drives:
isys.makeDevInode(d, "/tmp/" + d)
try:
@@ -13,8 +16,6 @@ def scanForRaid(drives):
parts = []
os.remove("/tmp/" + d)
- raidSets = {}
- raidDevices = {}
for i in range(0, len(parts) - 1):
(type, start, size) = parts[i]
if type != 7: continue
@@ -30,27 +31,30 @@ def scanForRaid(drives):
if knownLevel != level or knownDisks != totalDisks or \
knownMinor != mdMinor:
# Raise hell
- pass
+ raise SystemError, "raid set inconsistency for md%d" % \
+ (mdMinor)
knownDevices.append(dev)
+ raidSets[raidSet] = (knownLevel, knownDisks, knownMinor,
+ knownDevices)
else:
raidSets[raidSet] = (level, totalDisks, mdMinor, [dev,])
if raidDevices.has_key(mdMinor):
if (raidDevices[mdMinor] != raidSet):
- # Raise hell
- pass
+ raise SystemError, "raid set inconsistency for md%d" % \
+ (mdMinor)
else:
raidDevices[mdMinor] = raidSet
- raidList = []
- for key in raidSets.keys():
- (level, totalDisks, mdMinor, devices) = raidSets[key]
- if len(devices) != totalDisks:
- # raise hell
- pass
- raidList.append((mdMinor, devices))
+ raidList = []
+ for key in raidSets.keys():
+ (level, totalDisks, mdMinor, devices) = raidSets[key]
+ if len(devices) != totalDisks:
+ str = "missing components of raid device md%d" % (mdMinor,)
+ raise SystemError, str
+ raidList.append((mdMinor, devices))
- return raidList
+ return raidList
def startAllRaid(driveList):
mdList = []