From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=47246 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q3Dqa-0001La-Cw for qemu-devel@nongnu.org; Fri, 25 Mar 2011 16:43:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q3DqY-0000PT-O2 for qemu-devel@nongnu.org; Fri, 25 Mar 2011 16:43:04 -0400 Received: from e3.ny.us.ibm.com ([32.97.182.143]:51258) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q3DqY-0000PC-KR for qemu-devel@nongnu.org; Fri, 25 Mar 2011 16:43:02 -0400 Received: from d01dlp01.pok.ibm.com (d01dlp01.pok.ibm.com [9.56.224.56]) by e3.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p2PKMOrh013538 for ; Fri, 25 Mar 2011 16:22:24 -0400 Received: from d01relay05.pok.ibm.com (d01relay05.pok.ibm.com [9.56.227.237]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 5DE9938C8039 for ; Fri, 25 Mar 2011 16:42:54 -0400 (EDT) Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay05.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p2PKgxJN166884 for ; Fri, 25 Mar 2011 16:42:59 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p2PKgx9X030314 for ; Fri, 25 Mar 2011 17:42:59 -0300 Message-ID: <4D8CFE51.6040905@linux.vnet.ibm.com> Date: Fri, 25 Mar 2011 15:42:57 -0500 From: Michael Roth MIME-Version: 1.0 References: <1301082479-4058-1-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1301082479-4058-1-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [RFC][PATCH v1 00/11] QEMU Guest Agent: QMP-based host/guest communication (virtagent) List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: aliguori@linux.vnet.ibm.com, agl@linux.vnet.ibm.com, qemu-devel@nongnu.org, Jes.Sorensen@redhat.com On 03/25/2011 02:47 PM, Michael Roth wrote: > These apply on top of Anthony's glib tree, commit 03d5927deb5e6baebaade1b4c8ff2428a85e125c currently, and can also be obtained from: > git://repo.or.cz/qemu/mdroth.git qga_v1 > > The QGA-specific patches are in pretty rough shape, and there are some outstanding issues that I'll note below. I just wanted to put the general approach out there for consideration. Patch-level comments/review are still much-appreciated though. > > However, patches 1-5 are general json/QAPI-related fixes. Anthony, please consider pulling these into your glib tree. The json fix-ups may need further evaluation, but I'm confident they're at least an improvement. The QAPI ones are trivial fix-ups. > > ISSUES/TODOS: > > - QMP's async callbacks expect the command results to be de-marshalled beforehand. This is completely infeasible to attempt outside of the code generator, so this is a big area that needs to be addressed. So for now, only the 'guest-ping' command works, since it has no return value. The dummy "guest-view-file" command will cause an error to be reported to the client. Well, not completely de-marshalled. Basically just need a way to pull whatever is stored in the response qdict's "return" field out without specifying the QTYPE in advance... which exists in qdict.c:qdict_get_obj(), it's just not currently exposed to outside callers. Alternatively, the callback function can take in the entire response's qdict and pull the value out using knowledge from the schema. Will look into this more, but not nearly involved as I first thought. > - qemu-ga guest daemon is currently not working over virtio-serial or isa-serial. This is probably an issue with how I'm using glib's io channel interfaces, still investigating. This means the only way to currently test is by invocing qemu-ga with "-c unix-listen -p", then doing something like `socat /dev/ttyS0,raw,echo=0 unix-connect:`. > - guest-view-file is a stub, and will be broken out into an open/read/close set of RPCs, possibly with a high-level interface built around those. >