qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [RFC][PATCH v6 08/23] virtagent: add va.getfile RPC


From: Richard W.M. Jones
Subject: Re: [Qemu-devel] Re: [RFC][PATCH v6 08/23] virtagent: add va.getfile RPC
Date: Mon, 24 Jan 2011 22:48:08 +0000
User-agent: Mutt/1.5.21 (2010-09-15)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]