"usb-kbd", /* 165 */
"host-pci-multidomain",
"msg-timestamp",
+ "active-commit",
);
VIR_FORCE_CLOSE(fd);
}
+ /* Probe for active commit of qemu 2.1 (for now, we are choosing
+ * to ignore the fact that qemu 2.0 can also do active commit) */
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCK_COMMIT) &&
+ qemuMonitorSupportsActiveCommit(mon))
+ virQEMUCapsSet(qemuCaps, QEMU_CAPS_ACTIVE_COMMIT);
+
return 0;
}
QEMU_CAPS_DEVICE_USB_KBD = 165, /* -device usb-kbd */
QEMU_CAPS_HOST_PCI_MULTIDOMAIN = 166, /* support domain > 0 in host pci address */
QEMU_CAPS_MSG_TIMESTAMP = 167, /* -msg timestamp */
+ QEMU_CAPS_ACTIVE_COMMIT = 168, /* block-commit works without 'top' */
QEMU_CAPS_LAST, /* this must always be the last item */
} virQEMUCapsFlags;
"%s", _("domain is not running"));
goto endjob;
}
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCK_COMMIT)) {
+ /* Ensure that no one backports commit to RHEL 6.2, where cancel
+ * behaved differently */
+ if (!(virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCK_COMMIT) &&
+ virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKJOB_ASYNC))) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("online commit not supported with this QEMU binary"));
goto endjob;
* process; qemu 2.1 is further improving active commit. We need
* to start supporting it in libvirt. */
if (topSource == disk->src) {
- /* We assume that no one will backport qemu 2.0 active commit
- * to an earlier qemu without also backporting the block job
- * ready event; but this makes sure of that fact */
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKJOB_ASYNC)) {
+ if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_ACTIVE_COMMIT)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("active commit not supported with this QEMU binary"));
goto endjob;
"id": "libvirt-5"
}
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
{
"return": [
{
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
"name": "none"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
"name": "Opteron_G5"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
- "id": "libvirt-29",
+ "id": "libvirt-31",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-models has not been found"
}
{
- "id": "libvirt-30",
+ "id": "libvirt-32",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-types has not been found"
}
{
- "id": "libvirt-31",
+ "id": "libvirt-33",
"error": {
"class": "CommandNotFound",
"desc": "The command query-command-line-options has not been found"
"id": "libvirt-5"
}
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
{
"return": [
{
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
"name": "none"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
- "id": "libvirt-29",
+ "id": "libvirt-31",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-models has not been found"
}
{
- "id": "libvirt-30",
+ "id": "libvirt-32",
"error": {
"class": "CommandNotFound",
"desc": "The command query-tpm-types has not been found"
}
{
- "id": "libvirt-31",
+ "id": "libvirt-33",
"error": {
"class": "CommandNotFound",
"desc": "The command query-command-line-options has not been found"
"id": "libvirt-5"
}
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
{
"return": [
{
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"return": [
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}
"id": "libvirt-5"
}
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
{
"return": [
{
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
"type": "uint32"
}
],
- "id": "libvirt-21"
+ "id": "libvirt-22"
}
{
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"type": "size"
}
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}
"id": "libvirt-5"
}
+{
+ "id": "libvirt-6",
+ "error": {
+ "class": "GenericError",
+ "desc": "Parameter 'top' is missing"
+ }
+}
+
{
"return": [
{
"name": "SHUTDOWN"
}
],
- "id": "libvirt-6"
+ "id": "libvirt-7"
}
{
"name": "VGA"
}
],
- "id": "libvirt-7"
+ "id": "libvirt-8"
}
{
"type": "hex32"
}
],
- "id": "libvirt-8"
+ "id": "libvirt-9"
}
{
"type": "on/off"
}
],
- "id": "libvirt-9"
+ "id": "libvirt-10"
}
{
- "id": "libvirt-10",
+ "id": "libvirt-11",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-ccw' not found"
}
{
- "id": "libvirt-11",
+ "id": "libvirt-12",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-ccw' not found"
}
{
- "id": "libvirt-12",
+ "id": "libvirt-13",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-blk-s390' not found"
}
{
- "id": "libvirt-13",
+ "id": "libvirt-14",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'virtio-net-s390' not found"
}
{
- "id": "libvirt-14",
+ "id": "libvirt-15",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'pci-assign' not found"
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-15"
+ "id": "libvirt-16"
}
{
"type": "pci-host-devaddr"
}
],
- "id": "libvirt-16"
+ "id": "libvirt-17"
}
{
"type": "drive"
}
],
- "id": "libvirt-17"
+ "id": "libvirt-18"
}
{
"type": "drive"
}
],
- "id": "libvirt-18"
+ "id": "libvirt-19"
}
{
"type": "uint32"
}
],
- "id": "libvirt-19"
+ "id": "libvirt-20"
}
{
- "id": "libvirt-20",
+ "id": "libvirt-21",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-redir' not found"
}
{
- "id": "libvirt-21",
+ "id": "libvirt-22",
"error": {
"class": "DeviceNotFound",
"desc": "Device 'usb-host' not found"
"type": "drive"
}
],
- "id": "libvirt-22"
+ "id": "libvirt-23"
}
{
"type": "size"
}
],
- "id": "libvirt-23"
+ "id": "libvirt-24"
}
{
"type": "uint64"
}
],
- "id": "libvirt-24"
+ "id": "libvirt-25"
}
{
"type": "drive"
}
],
- "id": "libvirt-25"
+ "id": "libvirt-26"
}
{
"type": "hex32"
}
],
- "id": "libvirt-26"
+ "id": "libvirt-27"
}
{
"cpu-max": 1
}
],
- "id": "libvirt-26"
+ "id": "libvirt-28"
}
{
"name": "qemu64"
}
],
- "id": "libvirt-27"
+ "id": "libvirt-29"
}
{
"enabled": false,
"present": true
},
- "id": "libvirt-28"
+ "id": "libvirt-30"
}
{
"return": [
],
- "id": "libvirt-29"
+ "id": "libvirt-31"
}
{
"return": [
],
- "id": "libvirt-30"
+ "id": "libvirt-32"
}
{
"option": "drive"
}
],
- "id": "libvirt-31"
+ "id": "libvirt-33"
}