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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list