diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8817565688..02f612fffa 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7676,8 +7676,12 @@ qemudDomainMigrateFinish2 (virConnectPtr dconn, virDomainObjPtr vm; virDomainPtr dom = NULL; virDomainEventPtr event = NULL; + virErrorPtr orig_err; int newVM = 1; + /* Migration failed. Save the current error so nothing squashes it */ + orig_err = virSaveLastError(); + qemuDriverLock(driver); vm = virDomainFindByName(&driver->domains, dname); if (!vm) { @@ -7771,6 +7775,10 @@ endjob: vm = NULL; cleanup: + if (orig_err) { + virSetError(orig_err); + virFreeError(orig_err); + } if (vm) virDomainObjUnlock(vm); if (event)