looks ok. So, why did you not add the partitons to ProtectedPartitions? Regards. On Thu, Apr 23, 2009 at 05:01:58PM +0200, Hans de Goede wrote: > When a PV partition is part of an inconsistent VG, and the user chooses > to ignore it we currently remove it from the devicetree, but since > partition_gui.py populate() uses parted on the disk to find out about > the partitions, it will still see it and then backtrace when it cannot > find it in the devicetree. > > This patch fixes this by instead making the partition immutable. Note > that I've put the reason for it being immutable in the new immutableDevices > array, so that if we have similar cases in the future we can use > immutableDevices for that too. We might even want to move some of our > existing cases there. > --- > storage/__init__.py | 4 ++++ > storage/devicetree.py | 15 +++++++++++++-- > 2 files changed, 17 insertions(+), 2 deletions(-) > > diff --git a/storage/__init__.py b/storage/__init__.py > index 5b6e0f6..c05d9a4 100644 > --- a/storage/__init__.py > +++ b/storage/__init__.py > @@ -537,6 +537,10 @@ class Storage(object): > msg += "%s: %s" % (dev, reasons[dev]) > return msg > > + for i in self.devicetree.immutableDevices: > + if i[0] == device.name: > + return i[1] > + > return False > > def deviceDeps(self, device): > diff --git a/storage/devicetree.py b/storage/devicetree.py > index 996e702..85bef4b 100644 > --- a/storage/devicetree.py > +++ b/storage/devicetree.py > @@ -205,6 +205,7 @@ class DeviceTree(object): > self._ignoredDisks = [] > for disk in ignored: > self.addIgnoredDisk(disk) > + self.immutableDevices = [] > lvm.lvm_cc_resetFilter() > > def addIgnoredDisk(self, disk): > @@ -1537,7 +1538,12 @@ class DeviceTree(object): > lvm.lvm_cc_addFilterRejectRegexp(device.name) > lvm.blacklistVG(device.name) > for parent in device.parents: > - self._removeDevice(parent, moddisk=False) > + if parent.type == "partition": > + self.immutableDevices.append([parent.name, > + _("This partition is part of an inconsistent LVM Volume Group.")]) > + else: > + self._removeDevice(parent, moddisk=False) > + self.addIgnoredDisk(parent.name) > lvm.lvm_cc_addFilterRejectRegexp(parent.name) > > return > @@ -1575,7 +1581,12 @@ class DeviceTree(object): > lvm.blacklistVG(device.vg.name) > # ignore all the pvs > for parent in device.vg.parents: > - self._removeDevice(parent, moddisk=False) > + if parent.type == "partition": > + self.immutableDevices.append([parent.name, > + _("This partition is part of an inconsistent LVM Volume Group.")]) > + else: > + self._removeDevice(parent, moddisk=False) > + self.addIgnoredDisk(parent.name) > lvm.lvm_cc_addFilterRejectRegexp(parent.name) > return > > -- > 1.6.2 > > _______________________________________________ > Anaconda-devel-list mailing list > Anaconda-devel-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/anaconda-devel-list -- Joel Andres Granados Brno, Czech Republic, Red Hat. _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list