On Wed, Jun 11, 2025 at 21:57:15 +0000, Krisstoffe wrote:
> From: Krisstoffe <krissto...@free.fr>

I'll add a note that this is the same approach we use e.g. in the gluster
storage driver backend.

> 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,

Reviewed-by: Peter Krempa <pkre...@redhat.com>

Reply via email to