From: Xiubo Li <lixi...@cmss.chinamobile.com>

Make it a bit clearer and more readable.

Signed-off-by: Xiubo Li <lixi...@cmss.chinamobile.com>
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
Reviewed-by: John Snow <js...@redhat.com>
Reviewed-by: Jeff Cody <jc...@redhat.com>
Message-id: 1476519973-6436-1-git-send-email-lixi...@cmss.chinamobile.com
CC: John Snow <js...@redhat.com>
Signed-off-by: Jeff Cody <jc...@redhat.com>
---
 block/rbd.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/block/rbd.c b/block/rbd.c
index f6e1d4b..a57b3e3 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -365,45 +365,44 @@ static int qemu_rbd_create(const char *filename, QemuOpts 
*opts, Error **errp)
         rados_conf_read_file(cluster, NULL);
     } else if (conf[0] != '\0' &&
                qemu_rbd_set_conf(cluster, conf, true, &local_err) < 0) {
-        rados_shutdown(cluster);
         error_propagate(errp, local_err);
-        return -EIO;
+        ret = -EIO;
+        goto shutdown;
     }
 
     if (conf[0] != '\0' &&
         qemu_rbd_set_conf(cluster, conf, false, &local_err) < 0) {
-        rados_shutdown(cluster);
         error_propagate(errp, local_err);
-        return -EIO;
+        ret = -EIO;
+        goto shutdown;
     }
 
     if (qemu_rbd_set_auth(cluster, secretid, errp) < 0) {
-        rados_shutdown(cluster);
-        return -EIO;
+        ret = -EIO;
+        goto shutdown;
     }
 
     ret = rados_connect(cluster);
     if (ret < 0) {
         error_setg_errno(errp, -ret, "error connecting");
-        rados_shutdown(cluster);
-        return ret;
+        goto shutdown;
     }
 
     ret = rados_ioctx_create(cluster, pool, &io_ctx);
     if (ret < 0) {
         error_setg_errno(errp, -ret, "error opening pool %s", pool);
-        rados_shutdown(cluster);
-        return ret;
+        goto shutdown;
     }
 
     ret = rbd_create(io_ctx, name, bytes, &obj_order);
+    if (ret < 0) {
+        error_setg_errno(errp, -ret, "error rbd create");
+    }
+
     rados_ioctx_destroy(io_ctx);
+
+shutdown:
     rados_shutdown(cluster);
-    if (ret < 0) {
-        error_setg_errno(errp, -ret, "error rbd create");
-        return ret;
-    }
-
     return ret;
 }
 
-- 
2.7.4


Reply via email to