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>