All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Andreas Färber" <afaerber@suse.de>
Cc: pbonzini@redhat.com, Markus Armbruster <armbru@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH RFC 0/2] QMP command qom-new
Date: Thu, 24 May 2012 08:06:20 -0500	[thread overview]
Message-ID: <4FBE324C.70407@codemonkey.ws> (raw)
In-Reply-To: <4FBE2A59.3060701@suse.de>

On 05/24/2012 07:32 AM, Andreas Färber wrote:
> Am 24.05.2012 13:43, schrieb Markus Armbruster:
>> Beware: second patch is the product of voodoo-coding.
>
> Hm, I don't like the voodoo. ;) I would rather expose a proper C API
> like object_try_new(const char *, Error **) than opening up the TypeImpl
> internals to the public and hand-coding it everywhere. I ran into a
> similar error-catching scenario where I needed to check for class
> existence in some qdev_try_* function.

There are very few places where errors can be handled gracefully.  They are 
exceptions and can be treated as such.

I think it's far better for the QOM infrastructure to assert when it detects 
something bad because 99% of the users of QOM do not even attempt to handle 
errors gracefully.

Regards,

Anthony Liguori

  And there were still too many
> asserts in the QOM core for my taste.
>
> The QMP command itself looks good to me.
>
> Andreas
>
>> Markus Armbruster (2):
>>    qom: Give type_get_by_name() external linkage
>>    qmp: New command qom-new
>>
>>   include/qemu/object.h |    8 ++++++++
>>   qapi-schema.json      |   22 ++++++++++++++++++++++
>>   qmp-commands.hx       |    5 +++++
>>   qmp.c                 |   27 +++++++++++++++++++++++++++
>>   qom/object.c          |    2 +-
>>   5 files changed, 63 insertions(+), 1 deletions(-)
>

  reply	other threads:[~2012-05-24 13:06 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-24 11:43 [Qemu-devel] [PATCH RFC 0/2] QMP command qom-new Markus Armbruster
2012-05-24 11:43 ` [Qemu-devel] [PATCH RFC 1/2] qom: Give type_get_by_name() external linkage Markus Armbruster
2012-05-24 11:43 ` [Qemu-devel] [PATCH RFC 2/2] qmp: New command qom-new Markus Armbruster
2012-05-24 11:51   ` Paolo Bonzini
2012-05-24 12:58     ` Anthony Liguori
2012-05-24 13:01       ` Andreas Färber
2012-05-24 13:44       ` Paolo Bonzini
2012-05-24 14:12         ` Anthony Liguori
2012-05-24 13:04   ` Anthony Liguori
2012-05-24 13:48     ` Igor Mammedov
2012-05-24 14:01       ` Andreas Färber
2012-05-24 14:07         ` Anthony Liguori
2012-05-24 15:33         ` Igor Mammedov
2012-05-24 14:04       ` Anthony Liguori
2012-05-24 14:24     ` Markus Armbruster
2012-05-24 15:15       ` Michael Roth
2012-05-24 12:32 ` [Qemu-devel] [PATCH RFC 0/2] QMP " Andreas Färber
2012-05-24 13:06   ` Anthony Liguori [this message]
2012-05-24 13:18     ` Peter Maydell
2012-05-24 14:10       ` Anthony Liguori
2012-05-24 14:23         ` Peter Maydell
2012-05-24 14:35           ` Anthony Liguori
2012-05-24 14:52             ` Peter Maydell
2012-05-24 14:08   ` Markus Armbruster
2012-05-24 14:31     ` Andreas Färber
2012-05-24 14:48       ` Markus Armbruster

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=4FBE324C.70407@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=afaerber@suse.de \
    --cc=armbru@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.