Currently, we share the idea of old & new def with domains. Users can
*-edit an object (domain, pool) which spawns a new internal
representation for them. This is referenced via
{domainObj,poolObj}->newDef [compared to ->def]. However, for pool we
were never overwriting def with newDef. This must be done on
pool-destroy (like we do analogically in domain detroy).
---
src/storage/storage_driver.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 88f3809..3b95c70 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -794,6 +794,10 @@ storagePoolDestroy(virStoragePoolPtr obj) {
if (pool->configFile == NULL) {
virStoragePoolObjRemove(&driver->pools, pool);
pool = NULL;
+ } else if (pool->newDef) {
+ virStoragePoolDefFree(pool->def);
+ pool->def = pool->newDef;
+ pool->newDef = NULL;
}
ret = 0;
@@ -804,7 +808,6 @@ cleanup:
return ret;
}
-
static int
storagePoolDelete(virStoragePoolPtr obj,
unsigned int flags) {
--
1.7.8.5