[libvirt] [PATCH v2 0/4] Add support for QEMU guest agent control

Michal Privoznik mprivozn at redhat.com
Tue Jan 24 11:21:50 UTC 2012


On 23.01.2012 15:48, Michal Privoznik wrote:
> ====
> These patches are taken from here:
> https://www.redhat.com/archives/libvir-list/2011-October/msg00135.html
> 
> I've just rebased and polished them.
> ====
> 
> The QEMU guest agent "/usr/bin/qemu-ga" has some handy functions
> for controlling the guest, not least, shutdown/reboot and filesystem
> freeze/thaw.
> 
> In Fedora 15/16 the semantics of the ACPI power button have been
> changed to suspend-to-RAM which breaks our current shutdown
> implementation.
> 
> By adding support for the agent we gain a more predictable way
> to shutdown / reboot guests.
> 
> NB: the code currently has the same "flaw" as the monitor, in
> so much as we wait forever for a guest agent reply. We need to
> add a timeout ability to the agent code
> 
> diff to v1:
> - Eric's review taken in
> 
> Daniel P. Berrange (4):
>   QEMU guest agent support
>   Add new virDomainShutdownFlags API
>   Wire up QEMU agent to reboot/shutdown APIs
>   Allow choice of shutdown method via virsh
> 
>  include/libvirt/libvirt.h.in |   15 +
>  po/POTFILES.in               |    1 +
>  src/Makefile.am              |    1 +
>  src/driver.h                 |    5 +
>  src/esx/esx_driver.c         |   11 +-
>  src/libvirt.c                |   68 +++-
>  src/libvirt_public.syms      |    4 +
>  src/libxl/libxl_driver.c     |   12 +-
>  src/openvz/openvz_driver.c   |    1 +
>  src/qemu/qemu_agent.c        | 1112 ++++++++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_agent.h        |   69 +++
>  src/qemu/qemu_domain.c       |   97 ++++
>  src/qemu/qemu_domain.h       |   22 +
>  src/qemu/qemu_driver.c       |  131 ++++-
>  src/qemu/qemu_monitor_json.c |    2 +-
>  src/qemu/qemu_process.c      |  188 +++++++
>  src/remote/remote_driver.c   |    1 +
>  src/remote/remote_protocol.x |    8 +-
>  src/remote_protocol-structs  |    5 +
>  src/test/test_driver.c       |   11 +-
>  src/uml/uml_driver.c         |   11 +-
>  src/vbox/vbox_tmpl.c         |   11 +-
>  src/vmware/vmware_driver.c   |    1 +
>  src/xen/xen_driver.c         |   14 +-
>  src/xenapi/xenapi_driver.c   |   12 +-
>  tools/virsh.c                |   47 ++-
>  tools/virsh.pod              |   12 +-
>  27 files changed, 1832 insertions(+), 40 deletions(-)
>  create mode 100644 src/qemu/qemu_agent.c
>  create mode 100644 src/qemu/qemu_agent.h
> 

Thanks Eric; I've changed the patches as you've suggested and pushed.

Michal




More information about the libvir-list mailing list