qemu_ga: Don't overwrite errors on FSThaw

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.
(cherry picked from commit 650da0e99c)
This commit is contained in:
Michal Privoznik 2012-04-06 12:33:48 +02:00 committed by Daniel P. Berrange
parent c5031e2d1d
commit f25ef09fb5

View 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;
}