From 08cdb99cac283d7f6dd083094b054c38cb25f328 Mon Sep 17 00:00:00 2001 From: Rene Peinthor Date: Mon, 1 Jul 2024 14:49:10 +0200 Subject: [PATCH] linstor: deleteAsync fallback to volume UUID if path not set yet --- .../datastore/driver/LinstorPrimaryDataStoreDriverImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java index 8b9b768d2a42..63b6ebce3c8c 100644 --- a/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java +++ b/plugins/storage/volume/linstor/src/main/java/org/apache/cloudstack/storage/datastore/driver/LinstorPrimaryDataStoreDriverImpl.java @@ -242,7 +242,9 @@ public void deleteAsync(DataStore dataStore, DataObject dataObject, AsyncComplet case VOLUME: { final VolumeInfo volumeInfo = (VolumeInfo) dataObject; - final String rscName = LinstorUtil.RSC_PREFIX + volumeInfo.getPath(); + // if volume creation wasn't completely done .setPath wasn't called, so we fallback to vol.getUuid() + final String volUuid = volumeInfo.getPath() != null ? volumeInfo.getPath() : volumeInfo.getUuid(); + final String rscName = LinstorUtil.RSC_PREFIX + volUuid; deleteResourceDefinition(storagePool, rscName); long usedBytes = storagePool.getUsedBytes();