[libvirt] [PATCH] qemu_ga: Don't overwrite errors on FSThaw

Michal Privoznik mprivozn at redhat.com
Fri Apr 6 10:58:02 UTC 2012


We can tell qemuDomainSnapshotFSThaw if we want it to report errors or
not. However, if we don't want to and an error has been already set by
previous qemuReportError() we must keep copy of that error not just a
pointer to it. Otherwise, it get overwritten if FSThaw reports an error.
---
 src/qemu/qemu_driver.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index dd79973..0880f51 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -9636,16 +9636,13 @@ qemuDomainSnapshotFSThaw(struct qemud_driver *driver,
 
     qemuDomainObjEnterAgent(driver, vm);
     if (!report)
-        err = virGetLastError();
+        err = virSaveLastError();
     thawed = qemuAgentFSThaw(priv->agent);
-    if (!report) {
-        if (err)
-            virResetError(err);
-        else
-            virResetLastError();
-    }
+    if (!report)
+        virSetError(err);
     qemuDomainObjExitAgent(driver, vm);
 
+    virFreeError(err);
     return thawed;
 }
 
-- 
1.7.8.5




More information about the libvir-list mailing list