[libvirt] [PATCH 0/9] Add supports for three new QMP events

Osier Yang jyang at redhat.com
Mon Mar 5 10:25:38 UTC 2012


This patch series adds support for 3 new QMP events: WAKEUP,
SUSPEND, and DEVICE_TRAY_MOVED, and related changes on domain's
conf and status.

[1/9]
  Add support for tray moved event

[2/9] ~ [5/9]:
  New attribute "tray" is added to disk target, it indicates
the tray status of removable disk, i.e. CDROM and Floppy disks,
its value could be either of "open" or "closed", defaults to
"closed", and a removable disk with tray == "open" won't have
the source when domain is started.  The value of "tray" will
be updated while tray moved event is emitted from guest.
  Prior to these patches, if the user ejected the medium of
removable disk from guest side, and then do migration or
save/restoring, the guest will still starts the medium source
,and thus the medium will still exists in guest, which is
strange. These patches fix it.

[6/9] + [8/9]:
  Add support for wakeup event, and update the domain status
to paused if the domain is running, while the wakeup event is
emitted.

[7/9] + [9/9]:
  Add support for suspend event, and update the domain status
to running if the domain was paused by suspend event, while the
suspend event is emitted.

Osier Yang(9)
  Add support for event tray moved of removable disks
  docs: Add documentation for new attribute tray of disk target
  conf: Parse and for the tray attribute
  qemu: Do not start with source for removable disks if tray is open
  qemu: Update tray status while tray moved event is emitted
  Add support for the wakeup event
  Add support for the event suspend
  qemu: Update domain status to paused while suspend event is emitted
  qemu: Update domain status to running while wakeup event is emitted

 daemon/remote.c                                    |   80 +++++++++++
 docs/formatdomain.html.in                          |   13 ++-
 docs/schemas/domaincommon.rng                      |    8 +
 examples/domain-events/events-c/event-test.c       |   61 ++++++++-
 examples/domain-events/events-python/event-test.py |   12 ++
 include/libvirt/libvirt.h.in                       |   56 ++++++++
 python/libvirt-override-virConnect.py              |   27 ++++
 python/libvirt-override.c                          |  146 ++++++++++++++++++++
 src/conf/domain_conf.c                             |   33 +++++-
 src/conf/domain_conf.h                             |    9 ++
 src/conf/domain_event.c                            |  117 ++++++++++++++++
 src/conf/domain_event.h                            |   10 ++
 src/libvirt_private.syms                           |    6 +
 src/qemu/qemu_command.c                            |   16 ++-
 src/qemu/qemu_monitor.c                            |   37 +++++
 src/qemu/qemu_monitor.h                            |   14 ++
 src/qemu/qemu_monitor_json.c                       |   37 +++++-
 src/qemu/qemu_process.c                            |  131 ++++++++++++++++++
 src/remote/remote_driver.c                         |   98 +++++++++++++
 src/remote/remote_protocol.x                       |   19 +++-
 src/remote_protocol-structs                        |   11 ++
 tests/qemuxml2argvdata/qemuxml2argv-boot-cdrom.xml |    2 +-
 .../qemuxml2argv-boot-complex-bootindex.xml        |    6 +-
 .../qemuxml2argvdata/qemuxml2argv-boot-complex.xml |    6 +-
 .../qemuxml2argvdata/qemuxml2argv-boot-floppy.xml  |    2 +-
 ...uxml2argv-boot-menu-disable-drive-bootindex.xml |    2 +-
 .../qemuxml2argv-boot-menu-disable-drive.xml       |    2 +-
 .../qemuxml2argv-boot-menu-disable.xml             |    2 +-
 .../qemuxml2argv-boot-menu-enable.xml              |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-boot-multi.xml |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml |    4 +-
 tests/qemuxml2argvdata/qemuxml2argv-bootloader.xml |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml   |    2 +-
 .../qemuxml2argv-disk-cdrom-empty.xml              |    2 +-
 ...qemuxml2argv-disk-cdrom-tray-no-device-cap.args |    4 +
 .../qemuxml2argv-disk-cdrom-tray-no-device-cap.xml |   32 +++++
 .../qemuxml2argv-disk-cdrom-tray.args              |   10 ++
 .../qemuxml2argv-disk-cdrom-tray.xml               |   43 ++++++
 tests/qemuxml2argvdata/qemuxml2argv-disk-cdrom.xml |    2 +-
 .../qemuxml2argv-disk-copy_on_read.xml             |    2 +-
 .../qemuxml2argv-disk-drive-boot-cdrom.xml         |    2 +-
 .../qemuxml2argv-disk-drive-boot-disk.xml          |    2 +-
 .../qemuxml2argv-disk-drive-cache-directsync.xml   |    2 +-
 .../qemuxml2argv-disk-drive-cache-unsafe.xml       |    2 +-
 .../qemuxml2argv-disk-drive-cache-v1-none.xml      |    2 +-
 .../qemuxml2argv-disk-drive-cache-v1-wb.xml        |    2 +-
 .../qemuxml2argv-disk-drive-cache-v1-wt.xml        |    2 +-
 .../qemuxml2argv-disk-drive-cache-v2-none.xml      |    2 +-
 .../qemuxml2argv-disk-drive-cache-v2-wb.xml        |    2 +-
 .../qemuxml2argv-disk-drive-cache-v2-wt.xml        |    2 +-
 ...muxml2argv-disk-drive-error-policy-enospace.xml |    2 +-
 .../qemuxml2argv-disk-drive-error-policy-stop.xml  |    2 +-
 ...rgv-disk-drive-error-policy-wreport-rignore.xml |    2 +-
 .../qemuxml2argv-disk-drive-fmt-qcow.xml           |    2 +-
 .../qemuxml2argv-disk-drive-no-boot.xml            |    4 +-
 .../qemuxml2argv-disk-drive-readonly-disk.xml      |    2 +-
 .../qemuxml2argv-disk-drive-readonly-no-device.xml |    2 +-
 .../qemuxml2argv-disk-drive-shared.xml             |    2 +-
 ...emuxml2argv-disk-floppy-tray-no-device-cap.args |    4 +
 ...qemuxml2argv-disk-floppy-tray-no-device-cap.xml |   37 +++++
 .../qemuxml2argv-disk-floppy-tray.args             |   10 ++
 .../qemuxml2argv-disk-floppy-tray.xml              |   37 +++++
 .../qemuxml2argvdata/qemuxml2argv-disk-floppy.xml  |    4 +-
 .../qemuxml2argv-disk-ioeventfd.xml                |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-disk-order.xml |    2 +-
 .../qemuxml2argv-disk-snapshot.xml                 |    2 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-virtio.xml  |    2 +-
 .../qemuxml2argvdata/qemuxml2argv-disk-xenvbd.xml  |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-event_idx.xml  |    2 +-
 .../qemuxml2argv-floppy-drive-fat.xml              |    2 +-
 .../qemuxml2argv-graphics-spice-timeout.xml        |    2 +-
 tests/qemuxml2argvdata/qemuxml2argv-lease.xml      |    2 +-
 .../qemuxml2argv-net-bandwidth.xml                 |    2 +-
 tests/qemuxml2argvtest.c                           |    6 +
 .../qemuxml2xmlout-graphics-spice-timeout.xml      |    2 +-
 tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml     |    2 +-
 tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml       |    2 +-
 tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml    |    2 +-
 tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml      |    2 +-
 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml    |    8 +-
 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml    |    4 +-
 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml    |    2 +-
 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-6.xml    |    2 +-
 tests/vmx2xmldata/vmx2xml-floppy-device.xml        |    2 +-
 tests/vmx2xmldata/vmx2xml-floppy-file.xml          |    2 +-
 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-1.xml     |    2 +-
 tests/vmx2xmldata/vmx2xml-ws-in-the-wild-2.xml     |    2 +-
 tools/virsh.c                                      |    4 +
 88 files changed, 1185 insertions(+), 79 deletions(-)

Regards,
Osier




More information about the libvir-list mailing list