diff options
| -rw-r--r-- | partRequests.py | 14 | ||||
| -rw-r--r-- | partitions.py | 8 |
2 files changed, 20 insertions, 2 deletions
diff --git a/partRequests.py b/partRequests.py index 4d4fe7504..3f4e17ce0 100644 --- a/partRequests.py +++ b/partRequests.py @@ -63,10 +63,17 @@ class DeleteLogicalVolumeSpec: self.name = name self.vg = vg + self.deleted = 0 def __str__(self): return "lvname: %s vgname: %s" %(self.name, self.vg) + def beenDeleted(self): + return self.deleted + + def setDeleted(self, val): + self.deleted = val + class DeleteVolumeGroupSpec: """Defines a preexisting volume group which is intended to be removed.""" @@ -77,10 +84,17 @@ class DeleteVolumeGroupSpec: """ self.name = name + self.deleted = 0 def __str__(self): return "vgname: %s" %(self.name,) + def beenDeleted(self): + return self.deleted + + def setDeleted(self, val): + self.deleted = val + class DeleteRAIDSpec: """Defines a preexisting RAID device which is intended to be removed.""" diff --git a/partitions.py b/partitions.py index 878419a51..c37c15d0b 100644 --- a/partitions.py +++ b/partitions.py @@ -1207,12 +1207,16 @@ class Partitions: # now, go through and delete logical volumes for delete in self.deletes: if isinstance(delete, partRequests.DeleteLogicalVolumeSpec): - lvm.lvremove(delete.name, delete.vg) + if not delete.beenDeleted(): + lvm.lvremove(delete.name, delete.vg) + delete.setDeleted(1) # now, go through and delete volume groups for delete in self.deletes: if isinstance(delete, partRequests.DeleteVolumeGroupSpec): - lvm.vgremove(delete.name) + if not delete.beenDeleted(): + lvm.vgremove(delete.name) + delete.setDeleted(1) lvm.vgdeactivate() diskset.stopAllRaid() |
