|
 |
452bec |
From 8fc980241464db978fad2e86bc3d6916a173cbe9 Mon Sep 17 00:00:00 2001
|
|
 |
452bec |
Message-Id: <8fc980241464db978fad2e86bc3d6916a173cbe9@dist-git>
|
|
 |
452bec |
From: Peter Krempa <pkrempa@redhat.com>
|
|
 |
452bec |
Date: Wed, 22 Nov 2017 18:20:48 +0100
|
|
 |
452bec |
Subject: [PATCH] qemu: block commit: Don't overwrite error when rolling back
|
|
 |
452bec |
disk labels
|
|
 |
452bec |
|
|
 |
452bec |
Calls to qemuDomainDiskChainElementPrepare resets the original error,
|
|
 |
452bec |
thus we need to save it in the cleanup path of qemuDomainBlockCommit.
|
|
 |
452bec |
|
|
 |
452bec |
(cherry picked from commit c885b7fe1de1961391a117c033b4012a02cc8fca)
|
|
 |
452bec |
|
|
 |
452bec |
https://bugzilla.redhat.com/show_bug.cgi?id=1516717
|
|
 |
452bec |
|
|
 |
452bec |
Helps resolve merge conflicts with the actual patch and is useful by
|
|
 |
452bec |
itself.
|
|
 |
452bec |
|
|
 |
452bec |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
 |
452bec |
---
|
|
 |
452bec |
src/qemu/qemu_driver.c | 6 ++++++
|
|
 |
452bec |
1 file changed, 6 insertions(+)
|
|
 |
452bec |
|
|
 |
452bec |
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
|
 |
452bec |
index bfd7ff6c09..46016fb36e 100644
|
|
 |
452bec |
--- a/src/qemu/qemu_driver.c
|
|
 |
452bec |
+++ b/src/qemu/qemu_driver.c
|
|
 |
452bec |
@@ -17302,10 +17302,16 @@ qemuDomainBlockCommit(virDomainPtr dom,
|
|
 |
452bec |
|
|
 |
452bec |
endjob:
|
|
 |
452bec |
if (ret < 0 && clean_access) {
|
|
 |
452bec |
+ virErrorPtr orig_err = virSaveLastError();
|
|
 |
452bec |
/* Revert access to read-only, if possible. */
|
|
 |
452bec |
qemuDomainDiskChainElementPrepare(driver, vm, baseSource, true);
|
|
 |
452bec |
if (top_parent && top_parent != disk->src)
|
|
 |
452bec |
qemuDomainDiskChainElementPrepare(driver, vm, top_parent, true);
|
|
 |
452bec |
+
|
|
 |
452bec |
+ if (orig_err) {
|
|
 |
452bec |
+ virSetError(orig_err);
|
|
 |
452bec |
+ virFreeError(orig_err);
|
|
 |
452bec |
+ }
|
|
 |
452bec |
}
|
|
 |
452bec |
virStorageSourceFree(mirror);
|
|
 |
452bec |
qemuDomainObjEndJob(driver, vm);
|
|
 |
452bec |
--
|
|
 |
452bec |
2.15.1
|
|
 |
452bec |
|