From 6727bfd72858dcd4448348cb7de20a53a4be8ed4 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: May 28 2015 17:32:16 +0000 Subject: Revert "storage: Don't duplicate efforts of backend driver" This reverts commit 2ac0e647bdd33d93a374e7ef3eadf2a253c7bf79. --- diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index 148df7a..66a7bb1 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1634,7 +1634,6 @@ storageVolDeleteInternal(virStorageVolPtr obj, { size_t i; int ret = -1; - unsigned long long orig_pool_available, orig_pool_allocation; if (!backend->deleteVol) { virReportError(VIR_ERR_NO_SUPPORT, @@ -1643,9 +1642,6 @@ storageVolDeleteInternal(virStorageVolPtr obj, goto cleanup; } - orig_pool_available = pool->def->available; - orig_pool_allocation = pool->def->allocation; - if (backend->deleteVol(obj->conn, pool, vol, flags) < 0) goto cleanup; @@ -1653,10 +1649,8 @@ storageVolDeleteInternal(virStorageVolPtr obj, * in this module since the allocation/available weren't adjusted yet */ if (updateMeta) { - if (orig_pool_allocation == pool->def->allocation) - pool->def->allocation -= vol->target.allocation; - if (orig_pool_available == pool->def->available) - pool->def->available += vol->target.allocation; + pool->def->allocation -= vol->target.allocation; + pool->def->available += vol->target.allocation; } for (i = 0; i < pool->volumes.count; i++) { @@ -1775,7 +1769,6 @@ storageVolCreateXML(virStoragePoolPtr obj, virStorageVolDefPtr voldef = NULL; virStorageVolPtr ret = NULL, volobj = NULL; virStorageVolDefPtr buildvoldef = NULL; - unsigned long long orig_pool_available, orig_pool_allocation; virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA, NULL); @@ -1823,9 +1816,6 @@ storageVolCreateXML(virStoragePoolPtr obj, goto cleanup; } - orig_pool_available = pool->def->available; - orig_pool_allocation = pool->def->allocation; - /* Wipe any key the user may have suggested, as volume creation * will generate the canonical key. */ VIR_FREE(voldef->key); @@ -1883,10 +1873,8 @@ storageVolCreateXML(virStoragePoolPtr obj, goto cleanup; /* Update pool metadata */ - if (orig_pool_allocation == pool->def->allocation) - pool->def->allocation += buildvoldef->target.allocation; - if (orig_pool_available == pool->def->available) - pool->def->available -= buildvoldef->target.allocation; + pool->def->allocation += buildvoldef->target.allocation; + pool->def->available -= buildvoldef->target.allocation; VIR_INFO("Creating volume '%s' in storage pool '%s'", volobj->name, pool->def->name); @@ -1914,7 +1902,6 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, virStorageVolDefPtr origvol = NULL, newvol = NULL; virStorageVolPtr ret = NULL, volobj = NULL; unsigned long long allocation; - unsigned long long orig_pool_available, orig_pool_allocation; int buildret; virCheckFlags(VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA | @@ -2017,9 +2004,6 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, pool->volumes.count+1) < 0) goto cleanup; - orig_pool_available = pool->def->available; - orig_pool_allocation = pool->def->allocation; - /* 'Define' the new volume so we get async progress reporting. * Wipe any key the user may have suggested, as volume creation * will generate the canonical key. */ @@ -2073,10 +2057,8 @@ storageVolCreateXMLFrom(virStoragePoolPtr obj, newvol = NULL; /* Updating pool metadata */ - if (orig_pool_allocation == pool->def->allocation) - pool->def->allocation += allocation; - if (orig_pool_available == pool->def->available) - pool->def->available -= allocation; + pool->def->allocation += allocation; + pool->def->available -= allocation; VIR_INFO("Creating volume '%s' in storage pool '%s'", volobj->name, pool->def->name);