diff options
author | Xiubo Li <lixiubo@cmss.chinamobile.com> | 2016-10-15 16:26:13 +0800 |
---|---|---|
committer | Jeff Cody <jcody@redhat.com> | 2016-11-01 07:55:57 -0400 |
commit | e38f643a1de9b5afc1d133b12bcfdf205bc27654 (patch) | |
tree | 6b080b5afd37ced473a41d04de916385a0c9c53c /block | |
parent | 05fce20d6d1d758021f6a3c7af03d116a2cb61a4 (diff) | |
download | qemu-e38f643a1de9b5afc1d133b12bcfdf205bc27654.zip qemu-e38f643a1de9b5afc1d133b12bcfdf205bc27654.tar.gz qemu-e38f643a1de9b5afc1d133b12bcfdf205bc27654.tar.bz2 |
rbd: make the code more readable
Make it a bit clearer and more readable.
Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Message-id: 1476519973-6436-1-git-send-email-lixiubo@cmss.chinamobile.com
CC: John Snow <jsnow@redhat.com>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/rbd.c | 25 |
1 files changed, 12 insertions, 13 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); - rados_ioctx_destroy(io_ctx); - rados_shutdown(cluster); if (ret < 0) { error_setg_errno(errp, -ret, "error rbd create"); - return ret; } + rados_ioctx_destroy(io_ctx); + +shutdown: + rados_shutdown(cluster); return ret; } |