summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--partRequests.py14
-rw-r--r--partitions.py8
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()