Исправлено удаление RAID устройства

master-3.5 3.5.7_alpha3
Mike Hiretsky 7 years ago
parent 3ab7b87594
commit 8f3f7b3c3c

@ -564,14 +564,12 @@ class MdadmCommand(object):
def stop_raid(self, devraid):
if not self.mdadm_cmd:
return ""
pvdata = files.process(self.mdadm_cmd, "-S", devraid)
return pvdata.success()
return files.process(self.mdadm_cmd, "-S", devraid).success()
def zero_superblock(self, devices):
def zero_superblock(self, dev):
if not self.mdadm_cmd:
return ""
for dev in devices:
files.process(self.mdadm_cmd, "--zero-superblock", dev).success()
return files.process(self.mdadm_cmd, "--zero-superblock", dev).success()
class Raid(object):
def __init__(self, commander):
@ -606,12 +604,16 @@ class Raid(object):
yield devname
def remove_raid(self, raidname):
raidparts = self.devices(udev.get_syspath(name=raidname))
# итератор не подходит, так как после остановки RAID
# не получится узнать его диски
raidparts = list(self.devices(udev.get_syspath(name=raidname)))
failed = False
self.commander.stop_raid(raidname)
failed |= not (self.commander.stop_raid(raidname) or
self.commander.stop_raid(raidname))
for dev in raidparts:
self.commander.zero_superblock(dev)
return failed
failed |= not (self.commander.zero_superblock(dev) or
self.commander.zero_superblock(dev))
return not failed
def loadEfiVars():
"""

Loading…
Cancel
Save