On Tue, Jul 03, 2018 at 02:32:59PM +0200, Peter Krempa wrote:
While qemu supports the 'transaction' command since v1.1.0
(52e7c241ac766406f05fa) and the 'blockdev-snapshot-sync' command since
v0.14.0-rc0 we need to keep the capability bits present since some qemu
downstreams (RHEL/CentOS 7 for example) chose to cripple qemu by
arbitrarily compile out some stuff which was already present at that
s/compile/compiling/
time.
To simplify the crazy code just require both commands to be present at
the beginning of a external snapshot so that we can remove the case when
s/a external/an external/
'transaction' would not be supported.
This also allows to drop any logic connected to the
VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC flag since snapshots are atomic with
the 'transaction' command.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_driver.c | 62 +++++++++++---------------------------------------
1 file changed, 13 insertions(+), 49 deletions(-)
@@ -15265,13 +15234,8 @@ qemuDomainSnapshotCreateActiveExternal(virQEMUDriverPtr driver,
qemuDomainObjSetAsyncJobMask(vm, QEMU_JOB_DEFAULT_MASK);
}
- /* now the domain is now paused if:
- * - if a memory snapshot was requested
- * - an atomic snapshot was requested AND
- * qemu does not support transactions
- *
- * Next we snapshot the disks.
- */
+ /* now the domain is now paused if a memory snapshot was requested */
Double now.
+
if ((ret = qemuDomainSnapshotCreateDiskActive(driver, vm, snap, flags,
QEMU_ASYNC_JOB_SNAPSHOT)) < 0)
goto cleanup;
Reviewed-by: Ján Tomko <jtomko(a)redhat.com>
Jano