
On 02/12/2014 03:11 PM, Wido den Hollander wrote:
Reduces code and brings logging back to one function. --- src/storage/storage_backend_rbd.c | 43 ++++++++++++++----------------------- 1 file changed, 16 insertions(+), 27 deletions(-)
diff --git a/src/storage/storage_backend_rbd.c b/src/storage/storage_backend_rbd.c index bd21873..8d1e320 100644 --- a/src/storage/storage_backend_rbd.c +++ b/src/storage/storage_backend_rbd.c @@ -221,6 +221,17 @@ cleanup: return ret; }
+static int virStorageBackendRBDOpenIoCTX(virStorageBackendRBDStatePtr ptr, virStoragePoolObjPtr pool) +{ + int r = rados_ioctx_create(ptr->cluster, pool->def->source.name, &ptr->ioctx); + if (r < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("failed to create the RBD IoCTX. Does the pool '%s' exist?: %d"), + pool->def->source.name, r);
Looking at the documentation [1], librados returns -errno. It would be more user-friendly to report it as a string instead of a number. I'd suggest using: virReportSystemError(-r, _("failed to create the RBD IoCTX. " "Does the pool '%s' exist?'), pool->def->source.name); Also, putting this patch first would reduce the number of error messages that need to be changed. Jan [1] http://ceph.com/docs/master/rados/api/librados/