[libvirt] [PATCH 1/2] storage: Switch to new def on pool-destroy

Michal Privoznik mprivozn at redhat.com
Mon Jun 25 10:32:47 UTC 2012


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




More information about the libvir-list mailing list