libvirt/src/qemu
Eric Blake 40ad7160a2 blockjob: turn on qemu capability bit for active commit
Use the probing functionality added in the last patch to turn on
a capability bit when active commit is present, and gate active
commit on that capability.

For my own reference: the difference between BLOCKJOB_SYNC and
BLOCKJOB_ASYNC is whether qemu generated an event at the
conclusion of blockpull; basically, RHEL 6.2 was the only release
of qemu that has the sync semantics and lacks the event.  RHEL
6.3 added blockcopy, but also picked up on the upstream style
of qemu generating events.  As no one is likely to backport
active commit to RHEL 6.2, it's safe for blockcommit to always
require async blockjob support.

Modifying qemucapabilitiestest is painful; the .replies files would
be so much easier if they had comments correlating which command
generated the given reply.  Maybe I'll fix that up later...

* src/qemu/qemu_capabilities.h (QEMU_CAPS_ACTIVE_COMMIT): New
capability.
* src/qemu/qemu_driver.c (qemuDomainBlockCommit): Use the new bit
* src/qemu/qemu_capabilities.c (virQEMUCaps): Name the new bit.
(virQEMUCapsProbeQMPCommands): Set it.
* tests/qemucapabilitiesdata/caps_1.3.1-1.replies: Update.
* tests/qemucapabilitiesdata/caps_1.4.2-1.replies: Likewise.
* tests/qemucapabilitiesdata/caps_1.5.3-1.replies: Likewise.
* tests/qemucapabilitiesdata/caps_1.6.0-1.replies: Likewise.
* tests/qemucapabilitiesdata/caps_1.6.50-1.replies: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-07-03 14:19:53 -06:00
..
libvirtd_qemu.aug migration: add support for migrateURI configuration 2014-05-20 13:13:29 +02:00
MIGRATION.txt qemu: Implement migration job phases 2011-07-27 08:45:09 -06:00
qemu_agent.c avoid 'sync' as variable name 2014-05-19 18:40:02 +02:00
qemu_agent.h qemu: Implement virDomain{Get,Set}Time 2014-05-15 16:44:45 +02:00
qemu_capabilities.c blockjob: turn on qemu capability bit for active commit 2014-07-03 14:19:53 -06:00
qemu_capabilities.h blockjob: turn on qemu capability bit for active commit 2014-07-03 14:19:53 -06:00
qemu_cgroup.c Always report an error if virBitmapFormat fails 2014-06-06 14:35:19 +02:00
qemu_cgroup.h Auto-detect existing cgroup placement 2013-07-23 22:46:31 +01:00
qemu_command.c Remove double OOM error reporting 2014-07-03 10:48:14 +02:00
qemu_command.h Split out CCW address allocation 2014-06-21 10:12:21 +02:00
qemu_conf.c conf: store disk source as pointer, for easier manipulation 2014-06-06 09:56:28 -06:00
qemu_conf.h migration: add support for migrateURI configuration 2014-05-20 13:13:29 +02:00
qemu_domain.c qemu_domain: fix startup policy for disks 2014-07-02 15:42:03 +02:00
qemu_domain.h qemu: enum cleanups in "src/qemu/*" 2014-06-24 12:56:54 -06:00
qemu_driver.c blockjob: turn on qemu capability bit for active commit 2014-07-03 14:19:53 -06:00
qemu_driver.h Change file names in comments to match the files they are in 2014-03-10 14:26:04 +01:00
qemu_hostdev.c drivers: use virDirRead API 2014-04-28 17:52:45 -06:00
qemu_hostdev.h Capitalize USB, PCI and SCSI in hostdev methods 2014-03-12 16:20:01 +00:00
qemu_hotplug.c Remove double OOM error reporting 2014-07-03 10:48:14 +02:00
qemu_hotplug.h qemu: enum cleanups in "src/qemu/*" 2014-06-24 12:56:54 -06:00
qemu_hotplugpriv.h qemu: Let tests override waiting time for device unplug 2013-08-26 16:09:55 +02:00
qemu_migration.c Use virBufferCheckError everywhere we report OOM error 2014-07-03 10:48:14 +02:00
qemu_migration.h qemu: enum cleanups in "src/qemu/*" 2014-06-24 12:56:54 -06:00
qemu_monitor_json.c blockjob: allow omitted arguments to QMP block-commit 2014-07-03 14:19:51 -06:00
qemu_monitor_json.h blockjob: allow omitted arguments to QMP block-commit 2014-07-03 14:19:51 -06:00
qemu_monitor_text.c Use virBufferCheckError everywhere we report OOM error 2014-07-03 10:48:14 +02:00
qemu_monitor_text.h conf: more enum cleanups in "src/conf/domain_conf.h" 2014-06-02 15:32:58 -06:00
qemu_monitor.c blockjob: allow omitted arguments to QMP block-commit 2014-07-03 14:19:51 -06:00
qemu_monitor.h blockjob: allow omitted arguments to QMP block-commit 2014-07-03 14:19:51 -06:00
qemu_process.c Fix segfault when starting a domain with no cpu definition 2014-07-02 10:37:05 +02:00
qemu_process.h qemu: enum cleanups in "src/qemu/*" 2014-06-24 12:56:54 -06:00
qemu_processpriv.h qemu: Export qemuProcessHandleDeviceDeleted for tests 2013-08-26 16:09:55 +02:00
qemu.conf migration: add support for migrateURI configuration 2014-05-20 13:13:29 +02:00
test_libvirtd_qemu.aug.in migration: add support for migrateURI configuration 2014-05-20 13:13:29 +02:00
THREADS.txt Remove qemuDriverLock from almost everywhere 2013-02-13 11:10:30 +00:00