From: Krisstoffe <krissto...@free.fr>

Resolves: https://gitlab.com/libvirt/libvirt/-/issues/448

Signed-off-by: Krisstoffe <krissto...@free.fr>
---
 src/storage/storage_backend_rbd.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/storage/storage_backend_rbd.c 
b/src/storage/storage_backend_rbd.c
index 038a1a9e34..29d544d349 100644
--- a/src/storage/storage_backend_rbd.c
+++ b/src/storage/storage_backend_rbd.c
@@ -1442,9 +1442,21 @@ virStorageBackendRBDVolWipe(virStoragePoolObj *pool,
 }
 
 
+static int
+virStorageBackendRBDCheckPool(virStoragePoolObj *pool,
+                              bool *active)
+{
+    /* Return previous state remembered by the status XML. If the pool is not
+     * available we will fail to refresh it and end up in the same situation. 
*/
+    *active = virStoragePoolObjIsActive(pool);
+    return 0;
+}
+
+
 virStorageBackend virStorageBackendRBD = {
     .type = VIR_STORAGE_POOL_RBD,
 
+    .checkPool = virStorageBackendRBDCheckPool,
     .refreshPool = virStorageBackendRBDRefreshPool,
     .createVol = virStorageBackendRBDCreateVol,
     .buildVol = virStorageBackendRBDBuildVol,
-- 
2.47.1

Reply via email to