diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index baba9c92829e70add02db1a7aafb42111dc21e78..aaa0f0286d475e7d8171dc01d0a28f69f5c198db 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1565,17 +1565,8 @@ storageVolDelete(virStorageVolPtr obj, VIR_INFO("Deleting volume '%s' from storage pool '%s'", vol->name, pool->def->name); virStorageVolDefFree(vol); - vol = NULL; - - if (i < (pool->volumes.count - 1)) - memmove(pool->volumes.objs + i, pool->volumes.objs + i + 1, - sizeof(*(pool->volumes.objs)) * (pool->volumes.count - (i + 1))); - - if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count - 1) < 0) { - ; /* Failure to reduce memory allocation isn't fatal */ - } - pool->volumes.count--; + VIR_DELETE_ELEMENT(pool->volumes.objs, pool->volumes.count, i); break; } }