virCapsGuestMachinePtr *machines = NULL;
size_t nmachines = 0;
int ret = -1;
- bool hasdisksnapshot = false;
if (!binary)
return 0;
if (!virCapabilitiesAddGuestFeature(guest, "deviceboot", true, false))
goto cleanup;
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DISK_SNAPSHOT))
- hasdisksnapshot = true;
-
- if (!virCapabilitiesAddGuestFeature(guest, "disksnapshot", hasdisksnapshot,
- false))
+ if (!virCapabilitiesAddGuestFeature(guest, "disksnapshot", true, false))
goto cleanup;
if (virCapabilitiesAddGuestDomain(guest,
struct virQEMUCapsStringFlags virQEMUCapsCommands[] = {
- { "transaction", QEMU_CAPS_TRANSACTION },
{ "dump-guest-memory", QEMU_CAPS_DUMP_GUEST_MEMORY },
{ "query-spice", QEMU_CAPS_SPICE },
{ "query-vnc", QEMU_CAPS_VNC },
- { "blockdev-snapshot-sync", QEMU_CAPS_DISK_SNAPSHOT },
{ "nbd-server-start", QEMU_CAPS_NBD_SERVER },
{ "change-backing-file", QEMU_CAPS_CHANGE_BACKING_FILE },
{ "rtc-reset-reinjection", QEMU_CAPS_RTC_RESET_REINJECTION },
X_QEMU_CAPS_WAKEUP, /* system_wakeup monitor command */
QEMU_CAPS_SCSI_DISK_CHANNEL, /* Is scsi-disk.channel available? */
QEMU_CAPS_SCSI_BLOCK, /* -device scsi-block */
- QEMU_CAPS_TRANSACTION, /* transaction monitor command */
+ X_QEMU_CAPS_TRANSACTION, /* transaction monitor command */
/* 90 */
X_QEMU_CAPS_BLOCKJOB_SYNC, /* old block_job_cancel, block_stream */
X_QEMU_CAPS_DRIVE_MIRROR, /* drive-mirror monitor command */
X_QEMU_CAPS_USB_REDIR_BOOTINDEX, /* usb-redir.bootindex */
X_QEMU_CAPS_USB_HOST_BOOTINDEX, /* usb-host.bootindex */
- QEMU_CAPS_DISK_SNAPSHOT, /* blockdev-snapshot-sync command */
+ X_QEMU_CAPS_DISK_SNAPSHOT, /* blockdev-snapshot-sync command */
QEMU_CAPS_DEVICE_QXL, /* -device qxl */
/* 120 */
char *compressedpath = NULL;
virQEMUSaveDataPtr data = NULL;
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DISK_SNAPSHOT) ||
- !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_TRANSACTION)) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("live disk snapshot not supported with this "
- "QEMU binary"));
- return -1;
- }
-
/* If quiesce was requested, then issue a freeze command, and a
* counterpart thaw command when it is actually sent to agent.
* The command will fail if the guest is paused or the guest agent
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<selfvers>0</selfvers>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='scsi-disk.wwn'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='nbd-server'/>
<flag name='virtio-rng'/>
<selfvers>0</selfvers>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='scsi-disk.wwn'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='nbd-server'/>
<flag name='virtio-rng'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='dump-guest-memory'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='device-video-primary'/>
<flag name='s390-sclp'/>
<flag name='nbd-server'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='device-video-primary'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='VGA'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
- <flag name='transaction'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='vnc'/>
- <flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>