On 07/22/2013 10:31 PM, John Ferlan wrote: > Update virStorageBackendRBDOpenRADOSConn() to use the internal API to the > secret driver in order to get the secret value instead of the external > virSecretGetValue() path. Without the flag VIR_SECRET_GET_VALUE_INTERNAL_CALL > there is no way to get the value of private secret. > > This also requires ensuring there is a connection which wasn't true for > for the refreshPool() path calls from storageDriverAutostart() prior to > adding support for the connection to a qemu driver. It seems calls to > virSecretLookupByUUIDString() and virSecretLookupByUsage() from the > refreshPool() path would have failed with no way to find the secret - that is > theoretically speaking since the 'conn' was NULL the failure would have been > "failed to find the secret". > --- > src/storage/storage_backend_rbd.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c > index badbdac..70121bf 100644 > --- a/src/storage/storage_backend_rbd.c > +++ b/src/storage/storage_backend_rbd.c > @@ -23,6 +23,7 @@ > > #include <config.h> > > +#include "datatypes.h" > #include "virerror.h" > #include "storage_backend_rbd.h" > #include "storage_conf.h" > @@ -71,6 +72,12 @@ static int virStorageBackendRBDOpenRADOSConn(virStorageBackendRBDStatePtr *ptr, > goto cleanup; > } > > + if (!conn) { > + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", > + _("'ceph' authentication requires connection")); ACK if you change the error to mention autostart, as Paolo suggested in his reply to 4/5. Jan -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list