summaryrefslogtreecommitdiffstats
path: root/partitioning.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2001-06-21 19:07:45 +0000
committerJeremy Katz <katzj@redhat.com>2001-06-21 19:07:45 +0000
commit677d07d2e696e04ba3dc6c7b31d93348f62e115b (patch)
treed79ac28f83ba03692a9f07794bded0a4890372e6 /partitioning.py
parent9118a73a77c03164492f7ad9c0f98ac4c7ee86dc (diff)
downloadanaconda-677d07d2e696e04ba3dc6c7b31d93348f62e115b.tar.gz
anaconda-677d07d2e696e04ba3dc6c7b31d93348f62e115b.tar.xz
anaconda-677d07d2e696e04ba3dc6c7b31d93348f62e115b.zip
select raid partitions already used
Diffstat (limited to 'partitioning.py')
-rw-r--r--partitioning.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/partitioning.py b/partitioning.py
index d7180cce6..1f10c919d 100644
--- a/partitioning.py
+++ b/partitioning.py
@@ -139,8 +139,9 @@ def get_raid_devices(requests):
return raidRequests
-# returns a list of raid partitions which haven't been used in a device yet
-def get_available_raid_partitions(diskset, requests):
+# returns a list of tuples of raid partitions which can be used or are used
+# with whether they're used (0 if not, 1 if so) eg (part, used)
+def get_available_raid_partitions(diskset, requests, request):
rc = []
drives = diskset.disks.keys()
raiddevs = get_raid_devices(requests)
@@ -153,15 +154,21 @@ def get_available_raid_partitions(diskset, requests):
if raid.raidmembers:
for raidmem in raid.raidmembers:
if get_partition_name(part) == get_partition_name(raidmem.partition):
- used = 1
+ if raid.device == request.device:
+ used = 2
+ else:
+ used = 1
break
if used:
break
if not used:
- rc.append(part)
+ rc.append((part, 0))
+ elif used == 2:
+ rc.append((part, 1))
return rc
+
# return minimum numer of raid members required for a raid level
def get_raid_min_members(raidlevel):
if raidlevel == "RAID0":