qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 01/11] qemu-img: introduce qemu_img_handle_error


From: Pavel Hrdina
Subject: Re: [Qemu-devel] [PATCH 01/11] qemu-img: introduce qemu_img_handle_error()
Date: Thu, 18 Apr 2013 15:09:27 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130402 Thunderbird/17.0.5

On 18.4.2013 14:59, Kevin Wolf wrote:
Am 18.04.2013 um 13:52 hat Pavel Hrdina geschrieben:
On 18.4.2013 13:44, Kevin Wolf wrote:
Am 16.04.2013 um 18:05 hat Pavel Hrdina geschrieben:
Later in the patch series we will use this function few times.
This will avoid of duplicating the code.

Signed-off-by: Pavel Hrdina <address@hidden>
---
  qemu-img.c | 17 +++++++++++------
  1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/qemu-img.c b/qemu-img.c
index 31627b0..dbacdb7 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -322,6 +322,16 @@ static int add_old_style_options(const char *fmt, 
QEMUOptionParameter *list,
      return 0;
  }

+static int qemu_img_handle_error(const char *msg, Error *err)
+{
+    if (error_is_set(&err)) {
+        error_report("%s: %s", msg, error_get_pretty(err));
+        error_free(err);
+        return 1;
+    }
+    return 0;
+}
+
  static int img_create(int argc, char **argv)
  {
      int c;
@@ -400,13 +410,8 @@ static int img_create(int argc, char **argv)

      bdrv_img_create(filename, fmt, base_filename, base_fmt,
                      options, img_size, BDRV_O_FLAGS, &local_err, quiet);
-    if (error_is_set(&local_err)) {
-        error_report("%s", error_get_pretty(local_err));
-        error_free(local_err);
-        return 1;
-    }

-    return 0;
+    return qemu_img_handle_error("qemu-img create failed", local_err);
  }

This makes a change to the error message that isn't mentioned in the
commit message. It should definitely be mentioned there, but I'm not
even sure if it's a good change. Today you get something like:

     $ qemu-img create -f foo test.img
     qemu-img: Unknown file format 'foo'

With the patch applied it becomes:

     $ qemu-img create -f foo test.img
     qemu-img: qemu-img create failed: Unknown file format 'foo'

Does this add any useful information or does it just make the error
message longer? I feel it's the latter.

Kevin


Thanks for pointing this out, it should be
qemu_img_handle_error("create failed", local_err);

and later in patch series also
qemu_img_handle_error("snapshot create failed", local_err);

Is that OK after this change?

I would in fact leave the error message as it is today. The "create
failed" doesn't help me understand the error better. I already know that
it's a create command that failed, because it was me who called 'qemu-img
create'.

Kevin


Yes that's true and make sense, but what if another tool internally uses the qemu-img command? I know that the tool could print/return/whatever proper error message, but qemu-img could help with that printing more information.

Pavel



reply via email to

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