
On 06/24/2014 02:06 AM, Peter Krempa wrote:
On 06/24/14 01:30, Eric Blake wrote:
Add an element to QEMU's capability XML, to show if the underlying qemu binary supports active commit. This allows the client to know ahead of time if they can rely on this method, or must fall back to older techniques such as blockpull. Without this information, the only way to check for active commit is to attempt one and check for errors.
This attribute can be a simple binary (active commit is supported only if <activecommit/> is in the capabilities) rather than a full-blown toggle definition. (In contrast, the <disksnapshot> capability had to be a toggle because we forgot to add it at the same time as turning on the feature of external snapshots; and therefore, the absence of the attribute is not sufficient to conclude whether disk snapshots are supported.)
Our documentation for features was rather sparse; this fleshes out more of the details for other existing capabilities (and cost me some time trawling git history).
I'm going to split this patch. The documentation for the pre-existing bits,
+ if (!virCapabilitiesAddGuestFeature(guest, "activecommit", + virQEMUCapsGet(qemubinCaps, + QEMU_CAPS_ACTIVE_COMMIT), + 0))
Yuck, integers for boolean values. Pre-existing though.
and a cleanup of int-to-bool, is worth having, but now that we have virConnectGetDomainCapabilities, I'd rather expose this new capability through that API than by overloading another feature into this code. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org