From: Peter Krempa Date: Fri, 31 May 2013 13:38:46 +0000 (+0200) Subject: qemu: snapshot: Don't kill access to disk if snapshot creation fails X-Git-Tag: v1.0.5.3~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b14ced39320d2cab3159a556aa18412d15fbc22c;p=thirdparty%2Flibvirt.git qemu: snapshot: Don't kill access to disk if snapshot creation fails If snapshot creation failed for example due to invalid use of the "REUSE_EXTERNAL" flag, libvirt killed access to the original image file instead of the new image file. On machines with selinux this kills the whole VM as the selinux context is enforced immediately. * qemu_driver.c:qemuDomainSnapshotUndoSingleDiskActive(): - Kill access to the new image file instead of the old one. Partially resolves: https://bugzilla.redhat.com/show_bug.cgi?id=906639 (cherry picked from commit 177046753fa427609f217c319dba6fa465a4add4) --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 7c6e42dbc9..cb24e2b8bf 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -10975,7 +10975,7 @@ qemuDomainSnapshotUndoSingleDiskActive(virQEMUDriverPtr driver, goto cleanup; } - qemuDomainPrepareDiskChainElement(driver, vm, disk, origdisk->src, + qemuDomainPrepareDiskChainElement(driver, vm, disk, disk->src, VIR_DISK_CHAIN_NO_ACCESS); if (need_unlink && stat(disk->src, &st) == 0 && S_ISREG(st.st_mode) && unlink(disk->src) < 0)