]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu_ga: Don't overwrite errors on FSThaw
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 6 Apr 2012 10:33:48 +0000 (12:33 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 6 Apr 2012 11:42:04 +0000 (13:42 +0200)
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

index dd79973d5f00791f4567de9458ffff3d62dd5a65..0880f511155d9264ceb867900696c4aaf2ddc601 100644 (file)
@@ -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;
 }