]> xenbits.xensource.com Git - libvirt.git/commitdiff
storage: Switch to new def on pool-destroy
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 25 Jun 2012 09:38:17 +0000 (11:38 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 25 Jun 2012 11:03:44 +0000 (13:03 +0200)
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

index 88f3809064188327eac24b9f232df1411ba797f6..3b95c704b0386a2ee0cd82401cf9015f2fc83ed2 100644 (file)
@@ -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) {