diff options
author | Jeremy Katz <katzj@redhat.com> | 2004-05-19 03:23:00 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2004-05-19 03:23:00 +0000 |
commit | 63c6b2666ff7fd9b064bb867225c12daae0af149 (patch) | |
tree | db3793d77933f4ad579fc5e828c4ec5bb4984324 /fsset.py | |
parent | b6a4e9f954c274b7731371ed2107961cf9272d59 (diff) | |
download | anaconda-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.py | 36 |
1 files changed, 23 insertions, 13 deletions
@@ -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) |