From d7efba9711a85e29fabc4355a97fb8774c2759c8 Mon Sep 17 00:00:00 2001 From: Erik Skultety Date: Thu, 28 Nov 2019 15:21:18 +0100 Subject: [PATCH] storage: backend_disk: Implement the deletePool function 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 Reviewed-by: Michal Privoznik --- 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.47.2