From: "Richard W.M. Jones" <rjones@redhat.com>
To: Anthony Liguori <aliguori@linux.vnet.ibm.com>
Cc: agl@linux.vnet.ibm.com, stefanha@linux.vnet.ibm.com,
Jes Sorensen <Jes.Sorensen@redhat.com>,
marcel.mittelstaedt@de.ibm.com, qemu-devel@nongnu.org,
Michael Roth <mdroth@linux.vnet.ibm.com>,
ryanh@us.ibm.com, markus_mueller@de.ibm.com, abeekhof@redhat.com
Subject: Re: [Qemu-devel] Re: [RFC][PATCH v6 08/23] virtagent: add va.getfile RPC
Date: Mon, 24 Jan 2011 22:48:08 +0000 [thread overview]
Message-ID: <20110124224808.GF25174@amd.home.annexia.org> (raw)
In-Reply-To: <4D3DFC81.4010807@linux.vnet.ibm.com>
On Mon, Jan 24, 2011 at 04:26:09PM -0600, Anthony Liguori wrote:
> On 01/24/2011 04:20 PM, Richard W.M. Jones wrote:
> >On Mon, Jan 24, 2011 at 10:08:09PM +0000, Richard W.M. Jones wrote:
> >>You might as well reuse the libguestfs API here because you get the
> >>benefit of all the code that's been written, all the tools on top, and
> >>a far more comprehensive API that would take you another 2 years to
> >>implement.
> >To put it in some perspective, libguestfs is just shy of 500K lines of
> >code now, not including the tools built on top. 150 page manual just
> >for the core API.
>
> Yeah, but I think that's the reason that it might not be a good
> candidate for this use-case.
>
> We need a *simple* interface that we can convince everyone to
> install by default and run in their guests. It needs to be flexible
> enough that we can do lots of fun things but simple enough that a
> reasonable person can audit the code in a short period of time.
>
> It will never replace something as sophisticated as guestfs but
> that's not it's point. It's point is to let you do simple things
> like execute a command in the guest or peek at /proc/meminfo. You
> don't need 500k LOCs for that.
I don't really want to argue over this, since I think accessing live
VMs like this is a really useful feature, and it complements
libguestfs (image editing) very nicely.
I'll just say that you might not think you need it to start off with
(and we didn't either), but when you notice that "simple"
open/read/write/close in fact has terrible performance so you need to
specialize many operations, and then someone wants to create a
filesystem, and someone else wants a FUSE interface, suddenly you'll
be reimplementing large parts of libguestfs.
The daemon (guestfsd) is 36106 LoC.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into Xen guests.
http://et.redhat.com/~rjones/virt-p2v
next prev parent reply other threads:[~2011-01-24 22:48 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-17 13:14 [Qemu-devel] [RFC][PATCH v6 00/23] virtagent: host/guest RPC communication agent Michael Roth
2011-01-17 13:14 ` [Qemu-devel] [RFC][PATCH v6 01/23] Move code related to fd handlers into utility functions Michael Roth
2011-01-17 13:56 ` Gerd Hoffmann
2011-01-17 13:14 ` [Qemu-devel] [RFC][PATCH v6 02/23] Add qemu_set_fd_handler() wrappers to qemu-tools.c Michael Roth
2011-01-17 13:14 ` [Qemu-devel] [RFC][PATCH v6 03/23] Make qemu timers available for tools Michael Roth
2011-01-21 16:30 ` [Qemu-devel] " Jes Sorensen
2011-01-21 17:26 ` Michael Roth
2011-01-24 7:56 ` Jes Sorensen
2011-01-17 13:14 ` [Qemu-devel] [RFC][PATCH v6 04/23] virtagent: common code for managing client/server rpc jobs Michael Roth
2011-01-17 13:14 ` [Qemu-devel] [RFC][PATCH v6 05/23] virtagent: transport definitions read/send callback functions Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 06/23] virtagent: base client definitions Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 07/23] virtagent: base server definitions Michael Roth
2011-01-21 16:38 ` [Qemu-devel] " Jes Sorensen
2011-01-21 17:55 ` Michael Roth
2011-01-24 10:16 ` Jes Sorensen
2011-01-24 16:51 ` Michael Roth
2011-01-24 17:04 ` Jes Sorensen
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 08/23] virtagent: add va.getfile RPC Michael Roth
2011-01-21 16:40 ` [Qemu-devel] " Jes Sorensen
2011-01-21 17:20 ` Daniel P. Berrange
2011-01-21 18:23 ` Michael Roth
2011-01-24 22:08 ` Richard W.M. Jones
2011-01-24 22:20 ` Richard W.M. Jones
2011-01-24 22:26 ` Anthony Liguori
2011-01-24 22:48 ` Richard W.M. Jones [this message]
2011-01-24 23:40 ` Anthony Liguori
2011-01-25 0:22 ` Michael Roth
2011-01-25 0:25 ` Anthony Liguori
2011-01-25 9:21 ` Richard W.M. Jones
2011-01-25 15:12 ` Anthony Liguori
2011-01-25 15:43 ` Richard W.M. Jones
2011-01-26 13:01 ` Richard W.M. Jones
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 09/23] virtagent: add agent_viewfile qmp/hmp command Michael Roth
2011-01-21 16:41 ` [Qemu-devel] " Jes Sorensen
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 10/23] virtagent: add va.getdmesg RPC Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 11/23] virtagent: add agent_viewdmesg qmp/hmp commands Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 12/23] virtagent: add va.shutdown RPC Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 13/23] virtagent: add agent_shutdown qmp/hmp commands Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 14/23] virtagent: add va.ping RPC Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 15/23] virtagent: add agent_ping qmp/hmp commands Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 16/23] virtagent: add agent_capabilities " Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 17/23] virtagent: add client capabilities init function Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 18/23] virtagent: add va.hello RPC Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 19/23] virtagent: add "hello" notification function for guest agent Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 20/23] virtagent: add va.capabilities RPC Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 21/23] virtagent: add virtagent guest daemon Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 22/23] virtagent: integrate virtagent server/client via chardev Michael Roth
2011-01-17 13:15 ` [Qemu-devel] [RFC][PATCH v6 23/23] virtagent: various bits to build QEMU with virtagent Michael Roth
2011-01-24 10:24 ` [Qemu-devel] " Jes Sorensen
2011-01-17 13:53 ` [Qemu-devel] [RFC][PATCH v6 00/23] virtagent: host/guest RPC communication agent Gerd Hoffmann
2011-01-17 14:53 ` Michael Roth
2011-01-18 14:02 ` Gerd Hoffmann
2011-01-18 14:13 ` Anthony Liguori
2011-01-31 14:41 ` Michael Roth
2011-02-01 22:18 ` Michael Roth
2011-02-14 9:49 ` Gerd Hoffmann
2011-02-16 16:04 ` Jes Sorensen
2011-02-16 17:22 ` Michael Roth
2011-02-17 8:26 ` Jes Sorensen
2011-02-17 9:08 ` Dor Laor
2011-02-17 14:39 ` Michael Roth
2011-02-18 12:45 ` Jes Sorensen
2011-02-18 14:07 ` Anthony Liguori
2011-02-18 14:30 ` Jes Sorensen
2011-02-18 14:57 ` Anthony Liguori
2011-02-21 8:32 ` Jes Sorensen
2011-02-21 13:36 ` Michael Roth
2011-02-21 13:38 ` Jes Sorensen
2011-02-18 15:22 ` Gerd Hoffmann
2011-02-18 15:25 ` 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=20110124224808.GF25174@amd.home.annexia.org \
--to=rjones@redhat.com \
--cc=Jes.Sorensen@redhat.com \
--cc=abeekhof@redhat.com \
--cc=agl@linux.vnet.ibm.com \
--cc=aliguori@linux.vnet.ibm.com \
--cc=marcel.mittelstaedt@de.ibm.com \
--cc=markus_mueller@de.ibm.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=ryanh@us.ibm.com \
--cc=stefanha@linux.vnet.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).