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 <eskultet@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Erik Skultety 2019-11-28 15:21:18 +01:00
parent 087fac8fa7
commit d7efba9711

View File

@ -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,