diff options
author | Jeremy Katz <katzj@redhat.com> | 2002-06-12 06:47:10 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2002-06-12 06:47:10 +0000 |
commit | 601e202c578f3944c32e6df844e9667eef7b16aa (patch) | |
tree | 7b9aedc11bc821c58a228c864bd15c9ab7b63739 /fsset.py | |
parent | e218d7a11a6d2dca8a3419c8504dacd9dcd72ff7 (diff) | |
download | anaconda-601e202c578f3944c32e6df844e9667eef7b16aa.tar.gz anaconda-601e202c578f3944c32e6df844e9667eef7b16aa.tar.xz anaconda-601e202c578f3944c32e6df844e9667eef7b16aa.zip |
setup devices properly for preexisting lvm and raid
Diffstat (limited to 'fsset.py')
-rw-r--r-- | fsset.py | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -1504,6 +1504,8 @@ class RAIDDevice(Device): raid.register_raid_device(self.device, self.members[:], self.level, self.numDisks) self.isSetup = 1 + else: + isys.raidstart(self.device, self.members[0]) return node def getDevice (self, asBoot = 0): @@ -1538,14 +1540,12 @@ class VolumeGroupDevice(Device): self.physicalextentsize = pesize def setupDevice (self, chroot, devPrefix='/tmp'): - if not self.isSetup: - lvm.vgscan() - - nodes = [] - for volume in self.physicalVolumes: - # XXX the lvm tools are broken and will only work for /dev - node = volume.setupDevice(chroot, devPrefix="/dev") + nodes = [] + for volume in self.physicalVolumes: + # XXX the lvm tools are broken and will only work for /dev + node = volume.setupDevice(chroot, devPrefix="/dev") + if not self.isSetup: # now make the device into a real physical volume # XXX I don't really belong here. should # there be a PhysicalVolumeDevice(PartitionDevice) ? @@ -1560,6 +1560,7 @@ class VolumeGroupDevice(Device): nodes.append(node) + if not self.isSetup: # rescan now that we've recreated pvs. ugh. lvm.vgscan() @@ -1576,6 +1577,9 @@ class VolumeGroupDevice(Device): raise SystemError, "vgcreate failed for %s" %(self.name,) self.isSetup = 1 + else: + lvm.vgscan() + lvm.vgactivate() return "/dev/%s" % (self.name,) |