All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	aliguori@us.ibm.com, qemu-devel@nongnu.org, hollisb@us.ibm.com
Subject: [Qemu-devel] Re: [RFC 0/7] QError v1
Date: Fri, 30 Oct 2009 13:56:01 +0100	[thread overview]
Message-ID: <4AEAE261.5030908@redhat.com> (raw)
In-Reply-To: <20091030102809.1c520282@doriath>

On 10/30/09 13:28, Luiz Capitulino wrote:
>>> -        qemu_error("Device \"%s\" not found.  Try -device '?' for a list.\n",
>>> -                   driver);
>>> +        qemu_error_structed(QERR_DEV_NFOUND, "{ 'name': %s }", driver);
>>
>> why not store the "{ 'name': %s }" in the qerror_table?  I guess you
>> plan to have different fields in some cases?
>
>   The main reason is to have syntax checking, we can declare it in a
> macro though, in case of generic errors which are going to be used in
> other places.

I still feel the error reporting is too complex.  IMHO there should be 
no need to edit two places for error reporting, which means I'd go the 
opposite direction:  Zap qerror_table[], then have:

qemu_error_structed(QERR_DEV_NFOUND, "device %{name}s not found",
                     "{ 'name': %s }", driver);

Also I think the error codes should be more generic, so you don't need a 
new one for each and every error.  Ideally we'll have a reasonable and 
stable set of error codes after the initial conversion, so you don't 
have to touch the management apps just to add new codes as qemu 
envolves.  The error code must help the management app to decide how to 
deal with the error, but it shouldn't carry details not needed for that.

Picking the balloon errors (other patch in this thread):  You have *two* 
error codes for ballooning not being available.  I think a generic 
"service not available" error code would work for both (and for other 
error cases too) and would be good enougth.  The management app will 
figure it can't balloon down the VM.  It will not know the reason from 
the error code, but does it have to?  I doubt it will react in a 
different way.  And for manual trouble-shooting the text message which 
carries more information gets logged.

cheers,
   Gerd

  reply	other threads:[~2009-10-30 12:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-29 18:42 [Qemu-devel] [RFC 0/7] QError v1 Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 1/7] QJSon: Introduce qobject_from_json_va() Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 2/7] Introduce QError Luiz Capitulino
2009-10-29 20:14   ` [Qemu-devel] " Anthony Liguori
2009-10-29 20:48     ` Luiz Capitulino
2009-10-29 22:08       ` Paolo Bonzini
2009-10-30  2:25         ` Jamie Lokier
2009-10-30 13:05         ` Anthony Liguori
2009-10-30 13:48           ` Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 3/7] monitor: QError support Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 4/7] QError: Add QERR_DEV_NFOUND Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 5/7] qdev: Use QError for not found error Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 6/7] QError: Add do_info_balloon() errors Luiz Capitulino
2009-10-29 18:42 ` [Qemu-devel] [PATCH 7/7] monitor: do_info_balloon(): use QError Luiz Capitulino
2009-10-29 22:12 ` [Qemu-devel] Re: [RFC 0/7] QError v1 Paolo Bonzini
2009-10-30 12:28   ` Luiz Capitulino
2009-10-30 12:56     ` Gerd Hoffmann [this message]
2009-10-30 13:09       ` Anthony Liguori
2009-10-30 13:45         ` Paolo Bonzini
2009-10-30 13:47         ` Luiz Capitulino
2009-10-30 13:59           ` Anthony Liguori
2009-10-30 14:46             ` Luiz Capitulino
2009-10-30 16:28         ` Jamie Lokier
2009-10-30 16:34           ` Paolo Bonzini
2009-10-30 17:15           ` Daniel P. Berrange
2009-10-30 17:33             ` Paolo Bonzini
2009-10-30 17:48               ` Anthony Liguori
2009-11-01 12:28               ` Vincent Hanquez
2009-10-30 17:40           ` Anthony Liguori
2009-10-30 18:09             ` Jamie Lokier
2009-10-30 18:10               ` Paolo Bonzini
2009-10-30 19:04               ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AEAE261.5030908@redhat.com \
    --to=kraxel@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=hollisb@us.ibm.com \
    --cc=lcapitulino@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.