mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
qemu: Preserve error in qemuMigrationDstFinish
We want to prevent our error path that can potentially kill the domain on the destination host from overwriting an error reported earlier, but we were only doing so in one specific path when starting vCPUs fails. Let's do it in all paths. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
ea08483e7d
commit
3865596cf9
@ -5966,11 +5966,6 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
|
||||
if (virGetLastErrorCode() == VIR_ERR_OK)
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("resume operation failed"));
|
||||
/* Need to save the current error, in case shutting
|
||||
* down the process overwrites it
|
||||
*/
|
||||
virErrorPreserveLast(&orig_err);
|
||||
|
||||
/*
|
||||
* In v3 protocol, the source VM is still available to
|
||||
* restart during confirm() step, so we kill it off
|
||||
@ -6043,6 +6038,10 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
|
||||
return dom;
|
||||
|
||||
error:
|
||||
/* Need to save the current error, in case shutting down the process
|
||||
* overwrites it. */
|
||||
virErrorPreserveLast(&orig_err);
|
||||
|
||||
if (virDomainObjIsActive(vm)) {
|
||||
if (doKill) {
|
||||
qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED,
|
||||
|
Loading…
Reference in New Issue
Block a user