From 63c6b2666ff7fd9b064bb867225c12daae0af149 Mon Sep 17 00:00:00 2001 From: Jeremy Katz Date: Wed, 19 May 2004 03:23:00 +0000 Subject: first pass at using mdadm for raid devices instead of raid-tools. this isn't tested yet as a side-effect, fixes #122598 --- fsset.py | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'fsset.py') 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) -- cgit