diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index ac4a74a1a8..6a8b16c826 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -1879,8 +1879,12 @@ storageVolCreateXML(virStoragePoolPtr obj, } if (backend->refreshVol && - backend->refreshVol(obj->conn, pool, voldef) < 0) + backend->refreshVol(obj->conn, pool, voldef) < 0) { + storageVolDeleteInternal(volobj, backend, pool, voldef, + 0, false); + voldef = NULL; goto cleanup; + } /* Update pool metadata */ if (orig_pool_allocation == pool->def->allocation)