[libvirt] [PATCH 0/11 v2] Add supports for three new QMP events
Osier Yang
jyang at redhat.com
Tue Mar 20 03:41:47 UTC 2012
ping.
On 03/14/2012 11:26 PM, Osier Yang wrote:
> v1 ~ v2:
> * Two more patches, [5/11] to prohibit tray='open' for
> block type disk. And [9/11] to introduce a new domain
> state 'pmsuspended'
>
> * Definition (including name) for DEVICE_TRAY_MOVED event
> is changed into:
>
> typedef void
> (*virConnectDomainEventTrayChangeCallback)(virConnectPtr conn,
> virDomainPtr dom,
> const char *devAlias,
> int reason,
> void *opaque);
>
> * Definition for both SUSPEND and WAKEUP event are changed,
> one more parameter 'int reason' for future extension.
>
> * While SUSPEND event is emitted, the running domain will be
> transfered into the new domain state "pmsuspended", instead
> of "paused". And while WAKEUP is emitted, it will transfer
> the domain state to running only if the domain state is
> "pmsuspended".
>
> 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/11]
> Add support for tray moved event
>
> [2/11] ~ [6/11]:
> 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.
> tray status 'open' is prohibited for block type disk.
> 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.
>
> [7/11] + [11/11]:
> Add support for wakeup event, and update the domain status
> to running if the domain is in pmsuspended state, while the wakeup
> event is emitted.
>
> [9/11]
> Introduce new domain state "pmsuspended", which indicates the
> domain has been suspended by guest power management, e.g, entered
> into s3 state.
>
> [8/11] + [10/11]:
> Add support for suspend event, and update the domain status
> to pmsuspended if the domain was running, while the suspend event
> is emitted.
>
> Osier Yang(11)
> 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: Prohibit setting tray status as open for block type disk
> qemu: Update tray status while tray moved event is emitted
> Add support for the wakeup event
> Add support for the suspend event
> New domain state pmsuspended
> qemu: Update domain state to pmsuspended while suspend event occurs
> qemu: Update domain status to running while wakeup event is emitted
>
> daemon/remote.c | 79 ++++++++++
> docs/formatdomain.html.in | 13 ++-
> docs/schemas/domaincommon.rng | 8 +
> examples/domain-events/events-c/event-test.c | 66 +++++++++-
> examples/domain-events/events-python/event-test.py | 12 ++
> include/libvirt/libvirt.h.in | 98 ++++++++++++-
> python/libvirt-override-virConnect.py | 27 ++++
> python/libvirt-override.c | 150 ++++++++++++++++++++
> src/conf/domain_conf.c | 71 ++++++++--
> src/conf/domain_conf.h | 9 ++
> src/conf/domain_event.c | 115 +++++++++++++++
> src/conf/domain_event.h | 10 ++
> src/libvirt_private.syms | 6 +
> src/qemu/qemu_command.c | 31 ++++-
> src/qemu/qemu_monitor.c | 33 +++++
> src/qemu/qemu_monitor.h | 16 ++-
> src/qemu/qemu_monitor_json.c | 45 ++++++
> src/qemu/qemu_process.c | 121 ++++++++++++++++
> src/remote/remote_driver.c | 95 ++++++++++++
> src/remote/remote_protocol.x | 19 +++-
> src/remote_protocol-structs | 14 ++
> 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 | 12 ++
> tools/virsh.pod | 7 +-
> 89 files changed, 1277 insertions(+), 99 deletions(-)
>
> Osier
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
More information about the libvir-list
mailing list