diff mbox

[v2] rbd:change error_setg() to error_setg_errno()

Message ID 1462780319-5796-1-git-send-email-vumrao@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vikhyat Umrao May 9, 2016, 7:51 a.m. UTC
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 <vumrao@redhat.com>
---
 block/rbd.c | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

Comments

Josh Durgin May 18, 2016, 12:57 a.m. UTC | #1
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 <vumrao@redhat.com>
> ---
>   block/rbd.c | 38 +++++++++++++++++++++++---------------
>   1 file changed, 23 insertions(+), 15 deletions(-)

Looks good, thanks!

Reviewed-by: Josh Durgin <jdurgin@redhat.com>

> 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;
>       }
>
>
Max Reitz June 14, 2016, 2:42 p.m. UTC | #2
On 09.05.2016 09:51, 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 <vumrao@redhat.com>
> ---
>  block/rbd.c | 38 +++++++++++++++++++++++---------------
>  1 file changed, 23 insertions(+), 15 deletions(-)

Thanks, applied to my block tree:

https://github.com/XanClic/qemu/commits/block

Max
Vikhyat Umrao June 14, 2016, 5:04 p.m. UTC | #3
On Tue, Jun 14, 2016 at 8:12 PM, Max Reitz <mreitz@redhat.com> wrote:

> On 09.05.2016 09:51, 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 <vumrao@redhat.com>
> > ---
> >  block/rbd.c | 38 +++++++++++++++++++++++---------------
> >  1 file changed, 23 insertions(+), 15 deletions(-)
>
> Thanks, applied to my block tree:
>
> https://github.com/XanClic/qemu/commits/block
>
>
Thanks Max.


> Max
>
>
diff mbox

Patch

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;
     }