From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NunlZ-0005Tp-QO for qemu-devel@nongnu.org; Thu, 25 Mar 2010 10:10:33 -0400 Received: from [140.186.70.92] (port=46744 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NunlY-0005Sp-Fc for qemu-devel@nongnu.org; Thu, 25 Mar 2010 10:10:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NunlT-00057q-1M for qemu-devel@nongnu.org; Thu, 25 Mar 2010 10:10:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35140) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NunlS-00057h-QT for qemu-devel@nongnu.org; Thu, 25 Mar 2010 10:10:27 -0400 Date: Thu, 25 Mar 2010 11:09:59 -0300 From: Luiz Capitulino Subject: Re: [Qemu-devel] Re: [libvirt] Supporting hypervisor specific APIs in libvirt Message-ID: <20100325110959.35d805e5@redhat.com> In-Reply-To: <4BAB6BD0.1000509@codemonkey.ws> References: <4BA7C40C.2040505@codemonkey.ws> <20100323145105.GV16253@redhat.com> <4BA8D8A9.7090308@codemonkey.ws> <201003231557.19474.paul@codesourcery.com> <4BA8E6FC.9080207@codemonkey.ws> <4BA901B5.3020704@redhat.com> <4BA9A066.3070904@redhat.com> <20100324103643.GB624@redhat.com> <4BA9EC88.6000906@redhat.com> <20100324134250.38822113@redhat.com> <4BAA6CD9.6060001@redhat.com> <20100324171219.4365318b@redhat.com> <4BAA76EA.2060601@codemonkey.ws> <20100324182501.000b69a7@redhat.com> <4BAA86C2.4020701@codemonkey.ws> <4BAB1E21.8080009@snarc.org> <4BAB5805.9080000@codemonkey.ws> <4BAB58F1.20401@redhat.com> <4BAB68A2.6020707@codemonkey.ws> <4BAB69C9.6080704@redhat.com> <4BAB6BD0.1000509@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: "libvir-list@redhat.com" , Vincent Hanquez , qemu-devel@nongnu.org, Avi Kivity , Paul Brook On Thu, 25 Mar 2010 08:57:36 -0500 Anthony Liguori wrote: > On 03/25/2010 08:48 AM, Avi Kivity wrote: > >> > >> But an awful lot of the providers for pegasus are written in C. > > > > But we're concerned with only one, the virt provider. None of the > > others will use libqemu? > > > >> The point is, C is a lowest common denominator and it's important to > >> support in a proper way. > > > > Problem is, it means horrible support for everyone else. > > Why? Because it's useless for non C clients. QMP is language independent, libqemu is a full machinery for C clients only. > We can provide a generic QMP dispatch interface that high level > languages can use. Then they can do fancy dispatch, treat QErrors as > exceptions, etc. They can do that by accessing QMP directly. Why would a Python developer get in the mess of writing a Python binding for libqemu if they call do the exactly same thing by using its native json module? Man, opening a QMP connection from Python and sending commands can be done with a few lines. > We just ought to also provide some simple C wrappers for all of the > functions. Yes, the C interface is inferior to the generic interface > but that's fine. Why don't we start with my simple lib suggestion and wait one or two releases to see what happens?