From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48303) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2qNO-0004nl-Dw for qemu-devel@nongnu.org; Tue, 17 May 2016 21:34:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2poD-0006EV-TK for qemu-devel@nongnu.org; Tue, 17 May 2016 20:57:59 -0400 References: <1462780319-5796-1-git-send-email-vumrao@redhat.com> From: Josh Durgin Message-ID: <573BBE0F.2010000@redhat.com> Date: Tue, 17 May 2016 17:57:51 -0700 MIME-Version: 1.0 In-Reply-To: <1462780319-5796-1-git-send-email-vumrao@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] rbd:change error_setg() to error_setg_errno() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vikhyat Umrao , qemu-devel@nongnu.org, qemu-block@nongnu.org Cc: kwolf@redhat.com, jcody@redhat.com, mreitz@redhat.com On 05/09/2016 12:51 AM, Vikhyat Umrao wrote: > Ceph RBD block driver does not use error_setg_errno() where > it is possible to use. This patch replaces error_setg() > from error_setg_errno(). > > Signed-off-by: Vikhyat Umrao > --- > block/rbd.c | 38 +++++++++++++++++++++++--------------- > 1 file changed, 23 insertions(+), 15 deletions(-) Looks good, thanks! Reviewed-by: Josh Durgin > diff --git a/block/rbd.c b/block/rbd.c > index 5bc5b32..5226b6f 100644 > --- a/block/rbd.c > +++ b/block/rbd.c > @@ -290,7 +290,8 @@ static int qemu_rbd_set_conf(rados_t cluster, const char *conf, > if (only_read_conf_file) { > ret = rados_conf_read_file(cluster, value); > if (ret < 0) { > - error_setg(errp, "error reading conf file %s", value); > + error_setg_errno(errp, -ret, "error reading conf file %s", > + value); > break; > } > } > @@ -299,7 +300,7 @@ static int qemu_rbd_set_conf(rados_t cluster, const char *conf, > } else if (!only_read_conf_file) { > ret = rados_conf_set(cluster, name, value); > if (ret < 0) { > - error_setg(errp, "invalid conf option %s", name); > + error_setg_errno(errp, -ret, "invalid conf option %s", name); > ret = -EINVAL; > break; > } > @@ -354,9 +355,10 @@ static int qemu_rbd_create(const char *filename, QemuOpts *opts, Error **errp) > } > > clientname = qemu_rbd_parse_clientname(conf, clientname_buf); > - if (rados_create(&cluster, clientname) < 0) { > - error_setg(errp, "error initializing"); > - return -EIO; > + ret = rados_create(&cluster, clientname); > + if (ret < 0) { > + error_setg_errno(errp, -ret, "error initializing"); > + return ret; > } > > if (strstr(conf, "conf=") == NULL) { > @@ -381,21 +383,27 @@ static int qemu_rbd_create(const char *filename, QemuOpts *opts, Error **errp) > return -EIO; > } > > - if (rados_connect(cluster) < 0) { > - error_setg(errp, "error connecting"); > + ret = rados_connect(cluster); > + if (ret < 0) { > + error_setg_errno(errp, -ret, "error connecting"); > rados_shutdown(cluster); > - return -EIO; > + return ret; > } > > - if (rados_ioctx_create(cluster, pool, &io_ctx) < 0) { > - error_setg(errp, "error opening pool %s", pool); > + 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 -EIO; > + return ret; > } > > 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; > + } > > return ret; > } > @@ -500,7 +508,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, > clientname = qemu_rbd_parse_clientname(conf, clientname_buf); > r = rados_create(&s->cluster, clientname); > if (r < 0) { > - error_setg(errp, "error initializing"); > + error_setg_errno(errp, -r, "error initializing"); > goto failed_opts; > } > > @@ -546,19 +554,19 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags, > > r = rados_connect(s->cluster); > if (r < 0) { > - error_setg(errp, "error connecting"); > + error_setg_errno(errp, -r, "error connecting"); > goto failed_shutdown; > } > > r = rados_ioctx_create(s->cluster, pool, &s->io_ctx); > if (r < 0) { > - error_setg(errp, "error opening pool %s", pool); > + error_setg_errno(errp, -r, "error opening pool %s", pool); > goto failed_shutdown; > } > > r = rbd_open(s->io_ctx, s->name, &s->image, s->snap); > if (r < 0) { > - error_setg(errp, "error reading header from %s", s->name); > + error_setg_errno(errp, -r, "error reading header from %s", s->name); > goto failed_open; > } > >