From: "Daniel P. Berrange" <berrange@redhat.com>
To: Avi Kivity <avi@redhat.com>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
ehabkost@redhat.com, jan.kiszka@siemens.com, dlaor@redhat.com,
qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH 08/11] QMP: Port balloon command
Date: Fri, 26 Jun 2009 10:42:24 +0100 [thread overview]
Message-ID: <20090626094224.GE28206@redhat.com> (raw)
In-Reply-To: <4A4492FD.4040704@redhat.com>
On Fri, Jun 26, 2009 at 12:21:01PM +0300, Avi Kivity wrote:
> On 06/25/2009 10:11 PM, Luiz Capitulino wrote:
> >
> > Yes, having a library was suggested by Amit some months ago. The
> >problem is that it has various issues wrt maintainability.
> >
> > For example, libvirt is able to run two instances of different
> >versions of qemu at the same time. How to handle this if you
> >update libmonitor.so?
> >
The sane way is to *NOT* break ABI of libmonitor.so, and not change
the wire protocol in a non backwards compatible way. This is entirely
doable, it just the maintainer of libmonitor/qemu to decide that ABI
stability is important. So if you find an existing API / command
needs to gain an extra argument, you don't change the existing API,
you add a new one. Or ideally design the API upfront so that it
can be extended without breaking back compatability.
> You could use dlopen(). The problem with a library is that it assumes
> everyone is still trapped in C, which is not the case.
dlopen() of a different libmonitor.so for every version of QEMU is just
crazy, whether C or not. Maintain ABI & protocol back compatability
with new releases and avoid the issue in the first place.
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
next prev parent reply other threads:[~2009-06-26 9:42 UTC|newest]
Thread overview: 199+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1245730845.git.lcapitulino@redhat.com>
2009-06-23 4:28 ` [Qemu-devel] [PATCH 01/11] QMP: Introduce specification file Luiz Capitulino
2009-06-23 8:55 ` [Qemu-devel] " Avi Kivity
2009-06-23 9:57 ` Daniel P. Berrange
2009-06-23 10:08 ` Avi Kivity
2009-06-23 13:22 ` Luiz Capitulino
2009-06-23 13:31 ` Avi Kivity
2009-06-23 13:06 ` Luiz Capitulino
2009-06-23 13:10 ` Daniel P. Berrange
2009-06-23 17:12 ` Luiz Capitulino
2009-06-23 13:27 ` Avi Kivity
2009-06-23 17:15 ` Luiz Capitulino
2009-06-23 13:12 ` Anthony Liguori
2009-06-23 13:30 ` Avi Kivity
2009-06-23 13:34 ` Eduardo Habkost
2009-06-23 13:40 ` Anthony Liguori
2009-06-23 15:01 ` Avi Kivity
2009-06-23 15:47 ` Anthony Liguori
2009-06-23 16:02 ` Avi Kivity
2009-06-23 17:20 ` Luiz Capitulino
2009-06-23 14:45 ` [Qemu-devel] " Vincent Hanquez
2009-06-23 15:56 ` Avi Kivity
2009-06-23 15:56 ` Anthony Liguori
2009-06-23 16:04 ` Avi Kivity
2009-06-23 16:09 ` Anthony Liguori
2009-06-23 16:15 ` Avi Kivity
2009-06-23 18:32 ` Anthony Liguori
2009-06-23 18:47 ` Avi Kivity
2009-06-23 19:00 ` Anthony Liguori
2009-06-23 19:44 ` Avi Kivity
2009-06-23 19:52 ` Avi Kivity
2009-06-23 20:07 ` Anthony Liguori
2009-06-23 20:13 ` Avi Kivity
2009-06-23 22:02 ` Anthony Liguori
2009-06-23 22:02 ` Vincent Hanquez
2009-06-23 22:50 ` Anthony Liguori
2009-06-24 1:01 ` Vincent Hanquez
2009-06-24 11:55 ` James
2009-06-24 12:09 ` Daniel P. Berrange
2009-06-24 12:32 ` James
2009-06-24 12:54 ` Daniel P. Berrange
2009-06-24 14:31 ` Stefano Stabellini
2009-06-24 12:46 ` Anthony Liguori
2009-06-24 13:02 ` Daniel P. Berrange
2009-06-24 13:21 ` Avi Kivity
2009-06-24 13:09 ` Avi Kivity
2009-06-24 16:22 ` Jamie Lokier
2009-06-24 16:25 ` Avi Kivity
2009-06-24 18:52 ` Jamie Lokier
2009-06-24 17:39 ` Vincent Hanquez
2009-06-24 18:23 ` Filip Navara
2009-06-24 18:41 ` Jamie Lokier
2009-06-24 18:42 ` Vincent Hanquez
2009-06-24 18:55 ` Filip Navara
2009-06-24 18:56 ` Jamie Lokier
2009-06-24 13:34 ` Ian Jackson
2009-06-24 16:09 ` Jamie Lokier
2009-06-24 14:03 ` Filip Navara
2009-06-25 19:30 ` Luiz Capitulino
2009-06-24 14:06 ` Vincent Hanquez
2009-06-24 14:41 ` Stefano Stabellini
2009-06-24 14:56 ` Chris Webb
2009-06-24 19:01 ` Jamie Lokier
2009-06-24 15:57 ` Filip Navara
2009-06-24 16:22 ` Avi Kivity
2009-06-24 16:42 ` Filip Navara
2009-06-24 19:05 ` Jamie Lokier
2009-06-24 19:24 ` Filip Navara
2009-06-24 21:13 ` Jamie Lokier
2009-06-24 21:29 ` Filip Navara
2009-06-24 21:47 ` Jamie Lokier
2009-06-25 13:07 ` Stefano Stabellini
2009-06-25 14:55 ` Avi Kivity
2009-06-25 15:10 ` Anthony Liguori
2009-06-25 15:20 ` Avi Kivity
2009-06-25 17:04 ` Stefano Stabellini
2009-06-25 18:10 ` Anthony Liguori
2009-06-25 19:03 ` Daniel P. Berrange
2009-06-26 9:00 ` Avi Kivity
2009-06-26 9:10 ` Daniel P. Berrange
2009-06-26 9:16 ` Avi Kivity
2009-06-26 9:44 ` Daniel P. Berrange
2009-06-26 11:41 ` Vincent Hanquez
2009-06-25 18:09 ` Anthony Liguori
2009-06-25 18:31 ` Avi Kivity
2009-06-25 19:54 ` Anthony Liguori
2009-06-26 9:12 ` Avi Kivity
2009-06-26 13:21 ` Anthony Liguori
2009-06-26 15:02 ` Anthony Liguori
2009-06-26 17:36 ` Filip Navara
2009-06-26 19:36 ` Anthony Liguori
2009-06-26 20:25 ` Filip Navara
2009-06-28 13:16 ` Avi Kivity
2009-06-28 17:30 ` Anthony Liguori
2009-06-28 17:36 ` Avi Kivity
2009-06-29 9:44 ` Stefano Stabellini
2009-06-29 9:50 ` Avi Kivity
2009-06-29 10:09 ` Stefano Stabellini
2009-06-27 7:03 ` Filip Navara
2009-06-28 12:11 ` Avi Kivity
2009-06-28 13:13 ` Avi Kivity
2009-06-28 17:23 ` Anthony Liguori
2009-06-28 17:34 ` Avi Kivity
2009-06-29 0:42 ` Anthony Liguori
2009-06-29 6:04 ` Avi Kivity
2009-06-29 9:48 ` Stefano Stabellini
2009-06-29 20:23 ` Anthony Liguori
2009-06-30 5:37 ` Avi Kivity
2009-06-30 13:30 ` Anthony Liguori
2009-06-30 13:51 ` Stefano Stabellini
2009-06-30 13:52 ` Avi Kivity
2009-06-30 13:56 ` Anthony Liguori
2009-06-30 14:03 ` Luiz Capitulino
2009-06-30 16:05 ` Avi Kivity
2009-06-30 18:21 ` Anthony Liguori
2009-07-01 8:07 ` Avi Kivity
2009-06-29 14:41 ` Stefano Stabellini
2009-06-29 14:56 ` Avi Kivity
2009-06-28 17:38 ` Filip Navara
2009-06-26 11:36 ` Vincent Hanquez
2009-06-24 16:00 ` Jamie Lokier
2009-06-23 16:20 ` Avi Kivity
2009-06-23 17:59 ` Vincent Hanquez
2009-06-23 15:41 ` Blue Swirl
2009-06-23 4:28 ` [Qemu-devel] [PATCH 02/11] QMP: Introduce MONITOR_USE_CONTROL flag Luiz Capitulino
2009-06-23 4:28 ` [Qemu-devel] [PATCH 03/11] QMP: Introduce protocol print functions Luiz Capitulino
2009-06-23 13:45 ` Anthony Liguori
2009-06-23 13:53 ` Eduardo Habkost
2009-06-23 4:28 ` [Qemu-devel] [PATCH 04/11] QMP: Make monitor_handle_command() QMP aware Luiz Capitulino
2009-06-23 13:51 ` Anthony Liguori
2009-06-23 17:25 ` Luiz Capitulino
2009-06-23 4:29 ` [Qemu-devel] [PATCH 05/11] QMP: Introduce control mode chardev handling Luiz Capitulino
2009-06-23 4:29 ` [Qemu-devel] [PATCH 06/11] QMP: Introduce asynchronous events infrastructure Luiz Capitulino
2009-06-23 8:59 ` [Qemu-devel] " Jan Kiszka
2009-06-23 13:31 ` Luiz Capitulino
2009-06-23 10:08 ` Daniel P. Berrange
2009-06-23 10:11 ` Avi Kivity
2009-06-23 14:46 ` Paul Brook
2009-06-23 10:32 ` Daniel P. Berrange
2009-06-23 11:23 ` Avi Kivity
2009-06-23 13:36 ` Luiz Capitulino
2009-06-23 13:48 ` Eduardo Habkost
2009-06-23 13:51 ` Jan Kiszka
2009-06-23 16:34 ` Avi Kivity
2009-06-23 16:47 ` Daniel P. Berrange
2009-06-23 4:29 ` [Qemu-devel] [PATCH 07/11] QMP: Enable simple commands Luiz Capitulino
2009-06-23 4:29 ` [Qemu-devel] [PATCH 08/11] QMP: Port balloon command Luiz Capitulino
2009-06-23 9:42 ` [Qemu-devel] " Avi Kivity
2009-06-23 13:59 ` Anthony Liguori
2009-06-23 16:36 ` Avi Kivity
2009-06-23 16:58 ` Anthony Liguori
2009-06-23 16:59 ` Luiz Capitulino
2009-06-23 18:38 ` Anthony Liguori
2009-06-25 11:27 ` Dor Laor
2009-06-25 19:11 ` Luiz Capitulino
2009-06-26 9:21 ` Avi Kivity
2009-06-26 9:42 ` Daniel P. Berrange [this message]
2009-06-26 11:15 ` Avi Kivity
2009-06-27 15:58 ` Luiz Capitulino
2009-06-28 15:52 ` Avi Kivity
2009-06-28 16:30 ` Blue Swirl
2009-06-28 17:23 ` Filip Navara
2009-06-28 17:43 ` Avi Kivity
2009-06-28 17:51 ` Blue Swirl
2009-06-28 18:36 ` Avi Kivity
2009-06-28 22:11 ` Jamie Lokier
2009-06-25 19:59 ` Anthony Liguori
2009-06-23 4:29 ` [Qemu-devel] [PATCH 09/11] QMP: Port 'info blockstats' command Luiz Capitulino
2009-06-23 9:43 ` [Qemu-devel] " Avi Kivity
2009-06-23 9:59 ` Jan Kiszka
2009-06-23 10:09 ` Avi Kivity
2009-06-23 10:10 ` Jan Kiszka
2009-06-23 14:01 ` [Qemu-devel] " Anthony Liguori
2009-06-23 4:29 ` [Qemu-devel] [PATCH 10/11] QMP: Introduce basic events Luiz Capitulino
2009-06-23 9:46 ` [Qemu-devel] " Avi Kivity
2009-06-23 17:07 ` Luiz Capitulino
2009-06-23 10:06 ` Daniel P. Berrange
2009-06-23 4:30 ` [Qemu-devel] [PATCH 11/11] QMP: Command-line flag to enable control mode Luiz Capitulino
2009-06-23 9:03 ` [Qemu-devel] " Jan Kiszka
2009-06-23 10:04 ` Daniel P. Berrange
2009-06-23 10:11 ` Jan Kiszka
2009-06-23 10:17 ` Avi Kivity
2009-06-23 10:54 ` Jan Kiszka
2009-06-23 11:28 ` Avi Kivity
2009-06-23 11:44 ` Jan Kiszka
2009-06-23 11:51 ` Avi Kivity
2009-06-23 11:53 ` Jan Kiszka
2009-06-23 12:01 ` Avi Kivity
2009-06-23 12:39 ` Jan Kiszka
2009-06-23 12:46 ` Avi Kivity
2009-06-23 12:48 ` Avi Kivity
2009-06-23 11:54 ` Daniel P. Berrange
2009-06-23 11:48 ` Daniel P. Berrange
2009-06-23 12:25 ` Avi Kivity
2009-06-23 14:06 ` Anthony Liguori
2009-06-23 10:19 ` Daniel P. Berrange
2009-06-23 11:13 ` Jan Kiszka
2009-06-23 13:59 ` Luiz Capitulino
2009-06-23 14:06 ` Jan Kiszka
2009-06-23 17:27 ` Luiz Capitulino
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=20090626094224.GE28206@redhat.com \
--to=berrange@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=avi@redhat.com \
--cc=dlaor@redhat.com \
--cc=ehabkost@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=lcapitulino@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.