This is a very simple and straightforward implementation of the opposite
what buildPool does for the disk backend.
The background for this change comes from an existing test case in TCK
which does use the delete method for a pool of type disk, but it
truly could not have ever worked since the implementation simply
wasn't there for the pool of type disk.
Signed-off-by: Erik Skultety <eskultet(a)redhat.com>
---
src/storage/storage_backend_disk.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c
index d971530cd8..45d1257f3d 100644
--- a/src/storage/storage_backend_disk.c
+++ b/src/storage/storage_backend_disk.c
@@ -531,6 +531,25 @@ virStorageBackendDiskBuildPool(virStoragePoolObjPtr pool,
}
+/**
+ * Wipe the existing partition table
+ */
+static int
+virStorageBackendDiskDeletePool(virStoragePoolObjPtr pool,
+ unsigned int flags)
+{
+ virStoragePoolDefPtr def = virStoragePoolObjGetDef(pool);
+
+ virCheckFlags(0, -1);
+
+ if (virStorageBackendZeroPartitionTable(def->source.devices[0].path,
+ 1024 * 1024) < 0)
+ return -1;
+
+ return 0;
+}
+
+
struct virStorageVolNumData {
int count;
};
@@ -954,6 +973,7 @@ virStorageBackend virStorageBackendDisk = {
.startPool = virStorageBackendDiskStartPool,
.buildPool = virStorageBackendDiskBuildPool,
.refreshPool = virStorageBackendDiskRefreshPool,
+ .deletePool = virStorageBackendDiskDeletePool,
.createVol = virStorageBackendDiskCreateVol,
.deleteVol = virStorageBackendDiskDeleteVol,
--
2.23.0