From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49491 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q3F6T-0006JU-8Q for qemu-devel@nongnu.org; Fri, 25 Mar 2011 18:03:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q3F6S-0000Gy-2m for qemu-devel@nongnu.org; Fri, 25 Mar 2011 18:03:33 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:47593) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q3F6S-0000Gl-0Q for qemu-devel@nongnu.org; Fri, 25 Mar 2011 18:03:32 -0400 Received: by gyg4 with SMTP id 4so423936gyg.4 for ; Fri, 25 Mar 2011 15:03:31 -0700 (PDT) Message-ID: <4D8D1131.105@codemonkey.ws> Date: Fri, 25 Mar 2011 17:03:29 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [RFC][PATCH v1 00/11] QEMU Guest Agent: QMP-based host/guest communication (virtagent) References: <1301082479-4058-1-git-send-email-mdroth@linux.vnet.ibm.com> <4D8CFE51.6040905@linux.vnet.ibm.com> In-Reply-To: <4D8CFE51.6040905@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 03:42 PM, Michael Roth wrote: > 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. I don't follow. Are you talking about async callbacks within QEMU? Because that should be totally transparent to you. You'll receive a qobject and you can do whatever you need with it. > 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. Just use qdict_get()--but I still don't understand what the problem is. Regards, Anthony Liguori > 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. >> >