[libvirt] [PATCH 0/1] qemu-ga: add guest-sync-delimited

Michael Roth mdroth at linux.vnet.ibm.com
Tue Feb 7 00:48:28 UTC 2012


On Mon, Feb 06, 2012 at 06:07:34PM -0600, Michael Roth wrote:
> Sorry for the somewhat redundant cover letter, but needed to note that:
> 
> This applies on top of "[PATCH v2 0/8] qemu-ga: add support for Windows", and
> can also be obtained from:
> git://github.com/mdroth/qemu.git qga-guest-sync-delimited
> 
> As noted in the commit there's a wiki write-up with more details on what
> exactly this is for:
> 
> http://wiki.qemu.org/Features/QAPI/GuestAgent#QEMU_Guest_Agent_Protocol
> 
> It's not absolutely required, but it does make dealing with some communication
> corner cases a heck of a lot easier.
> 

Actually, let me re-spin this without the deprecated flag for
guest-sync, since I suspect a more common client implementation would do
something like:

qga.write(obj_to_json_string(req_obj))
resp_obj = obj_from_json_string(qga.readline())

as opposed to the JSON streamer that qemu-ga/QMP uses. You might miss a
response doing the above approach if there was garbage in the channel,
but you'll always been able to recover on the second attempt. So
guest-sync is still useful there, assuming we codify 1-line-per-response
in the QGA protocol.




More information about the libvir-list mailing list