diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 7908ba669b..58d0fc0d41 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1635,6 +1635,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, virStorageBackendPtr backend; virStorageVolDefPtr origvol = NULL, newvol = NULL; virStorageVolPtr ret = NULL, volobj = NULL; + unsigned long long allocation; int buildret; virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA, NULL); @@ -1758,6 +1759,7 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, origvol->building = 0; newvol->building = 0; + allocation = newvol->allocation; newvol = NULL; pool->asyncjobs--; @@ -1775,8 +1777,8 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, } /* Updating pool metadata */ - pool->def->allocation += newvol->allocation; - pool->def->available -= newvol->allocation; + pool->def->allocation += allocation; + pool->def->available -= allocation; VIR_INFO("Creating volume '%s' in storage pool '%s'", volobj->name, pool->def->name);