qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] rbd:change error_setg() to error_setg_errno(


From: Josh Durgin
Subject: Re: [Qemu-devel] [PATCH v2] rbd:change error_setg() to error_setg_errno()
Date: Tue, 17 May 2016 17:57:51 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.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 <address@hidden>
---
  block/rbd.c | 38 +++++++++++++++++++++++---------------
  1 file changed, 23 insertions(+), 15 deletions(-)

Looks good, thanks!

Reviewed-by: Josh Durgin <address@hidden>

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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]