summaryrefslogtreecommitdiffstats
path: root/fsset.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2004-05-19 03:23:00 +0000
committerJeremy Katz <katzj@redhat.com>2004-05-19 03:23:00 +0000
commit63c6b2666ff7fd9b064bb867225c12daae0af149 (patch)
treedb3793d77933f4ad579fc5e828c4ec5bb4984324 /fsset.py
parentb6a4e9f954c274b7731371ed2107961cf9272d59 (diff)
downloadanaconda-63c6b2666ff7fd9b064bb867225c12daae0af149.tar.gz
anaconda-63c6b2666ff7fd9b064bb867225c12daae0af149.tar.xz
anaconda-63c6b2666ff7fd9b064bb867225c12daae0af149.zip
first pass at using mdadm for raid devices instead of raid-tools. this
isn't tested yet as a side-effect, fixes #122598
Diffstat (limited to 'fsset.py')
-rw-r--r--fsset.py36
1 files changed, 23 insertions, 13 deletions
diff --git a/fsset.py b/fsset.py
index 56c7cd0f7..6b1d12586 100644
--- a/fsset.py
+++ b/fsset.py
@@ -1047,16 +1047,28 @@ class FileSystemSet:
return raidtab
+ def mdadmConf(self):
+ if len(self.entries) == 0:
+ return
+
+ cf = "DEVICE partitions\n"
+ for ent in self.entries:
+ l = "ARRAY /dev/%s superminor=%s\n" %(ent.device, ent.minor)
+ cf = cf + l
+
+ return cf
+
+
def write (self, prefix):
f = open (prefix + "/etc/fstab", "w")
f.write (self.fstab())
f.close ()
- raidtab = self.raidtab()
+ cf = self.mdadmConf()
- if raidtab:
- f = open (prefix + "/etc/raidtab", "w")
- f.write (raidtab)
+ if cf:
+ f = open (prefix + "/etc/mdadm.conf", "w")
+ f.write (cf)
f.close ()
# touch mtab
@@ -1817,18 +1829,16 @@ class RAIDDevice(Device):
isys.makeDevInode(self.device, node)
if not self.isSetup:
- raidtab = '/tmp/raidtab.%s' % (self.device,)
- f = open(raidtab, 'w')
- f.write(self.raidTab(devPrefix=devPrefix))
- f.close()
for device in self.members:
PartitionDevice(device).setupDevice(chroot,
devPrefix=devPrefix)
- iutil.execWithRedirect ("/usr/sbin/mkraid",
- ('mkraid', '--really-force',
- '--dangerous-no-resync',
- '--configfile',
- raidtab, node),
+ iutil.execWithRedirect ("/usr/sbin/mdadm"
+ ("mdadm", "--create",
+ "--chunk=%s" %(self.chunksize,),
+ "--level=%s" %(self.level,),
+ "--spare-devices=%s" %(self.spares,),
+ "--raid-devices=%s" %(self.numDisks,),
+ self.members),
stderr="/dev/tty5", stdout="/dev/tty5")
raid.register_raid_device(self.device, self.members[:],
self.level, self.numDisks)