From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58185) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bwAjc-0003y3-TJ for qemu-devel@nongnu.org; Mon, 17 Oct 2016 12:25:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bwAjc-0000ln-0r for qemu-devel@nongnu.org; Mon, 17 Oct 2016 12:25:56 -0400 References: <1476519973-6436-1-git-send-email-lixiubo@cmss.chinamobile.com> From: John Snow Message-ID: <96d7afa3-06fb-4b52-613a-4909d01f0661@redhat.com> Date: Mon, 17 Oct 2016 12:25:49 -0400 MIME-Version: 1.0 In-Reply-To: <1476519973-6436-1-git-send-email-lixiubo@cmss.chinamobile.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] rbd: make the code more readable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Xiubo Li , qemu-block@nongnu.org Cc: qemu-devel@nongnu.org On 10/15/2016 04:26 AM, Xiubo Li wrote: > Make it a bit clearer and more readable. > > Signed-off-by: Xiubo Li > CC: John Snow > --- > > V2: > - Advice from John Snow. Thanks. > > > block/rbd.c | 25 ++++++++++++------------- > 1 file changed, 12 insertions(+), 13 deletions(-) > > diff --git a/block/rbd.c b/block/rbd.c > index 0a5840d..d0d4b39 100644 > --- a/block/rbd.c > +++ b/block/rbd.c > @@ -366,45 +366,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; > } > > Reviewed-by: John Snow