[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 5/8] qemu-img: img_create(): use Error object
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 5/8] qemu-img: img_create(): use Error object |
Date: |
Thu, 18 Oct 2012 16:02:22 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 |
Am 18.10.2012 15:49, schrieb Luiz Capitulino:
> On Thu, 18 Oct 2012 14:11:40 +0200
> Kevin Wolf <address@hidden> wrote:
>
>> Am 17.10.2012 21:35, schrieb Luiz Capitulino:
>>> Signed-off-by: Luiz Capitulino <address@hidden>
>>> ---
>>> qemu-img.c | 10 +++++++---
>>> 1 file changed, 7 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/qemu-img.c b/qemu-img.c
>>> index 12fb6c2..dfde588 100644
>>> --- a/qemu-img.c
>>> +++ b/qemu-img.c
>>> @@ -302,6 +302,7 @@ static int img_create(int argc, char **argv)
>>> const char *base_filename = NULL;
>>> char *options = NULL;
>>> QEMUOptionParameter *params = NULL;
>>> + Error *local_err = NULL;
>>>
>>> for(;;) {
>>> c = getopt(argc, argv, "F:b:f:he6o:");
>>> @@ -362,9 +363,12 @@ static int img_create(int argc, char **argv)
>>> goto out;
>>> }
>>>
>>> - ret = bdrv_img_create(filename, fmt, base_filename, base_fmt,
>>> - options, img_size, BDRV_O_FLAGS, ¶ms, NULL);
>>> - if (ret < 0) {
>>> + bdrv_img_create(filename, fmt, base_filename, base_fmt,
>>> + options, img_size, BDRV_O_FLAGS, ¶ms, &local_err);
>>> + if (error_is_set(&local_err)) {
>>> + fprintf(stderr, "qemu-img: %s\n", error_get_pretty(local_err));
>>
>> This should use error_report() instead of adding the "qemu-img:" manually.
>
> If you want to do it for consistency with the current code then ok,
> I'll do it for v2. But I disagree qemu-img should keep using error_report(),
> printing to hmp for example is something beyond the interests of a tool like
> qemu-img.
qemu-img doesn't have an HMP monitor, so it doesn't hurt either. If you
want to replace it, replace it with a copy of qemu-error.c that only
removes the monitor_vprintf() case. That is, in particular, leave all of
the loc_*() functionality there, because this is something that is meant
for use in command line parsers.
That qemu-img doesn't use these functions yet should be fixed. It has
some good use cases for them.
Kevin
[Qemu-devel] [PATCH 7/8] qmp: qmp_transaction(): pass Error object to bdrv_img_create(), Luiz Capitulino, 2012/10/17
[Qemu-devel] [PATCH 6/8] qemu-img: img_create(): simplify, Luiz Capitulino, 2012/10/17
[Qemu-devel] [PATCH 8/8] block: bdrv_img_create(): drop unused error handling code, Luiz Capitulino, 2012/10/17