[libvirt] [PATCH] 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. --- 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

On Fri, Apr 06, 2012 at 12:58:02 +0200, Michal Privoznik wrote:
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(-)
ACK Jirka

On 06.04.2012 13:38, Jiri Denemark wrote:
On Fri, Apr 06, 2012 at 12:58:02 +0200, Michal Privoznik wrote:
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(-)
ACK
Jirka
Thanks, pushed. Michal
participants (2)
-
Jiri Denemark
-
Michal Privoznik