From: Jiri Denemark <jdenemar@redhat.com> When virDomainAbortJob is called with VIR_DOMAIN_ABORT_JOB_POSTCOPY flag and the post-copy migration of the domain is already stopped (either because of a failure or previous call to virDomainAbortJob), the migrate-pause QMP command fails with "migrate-pause is currently only supported during postcopy-active or postcopy-recover state". Such error might be confusing to end users especially when we mark it as an internal error. Let's not call the QMP command at all and report a clear error message instead. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_driver.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 7f08fd05e9..c5eedeedfa 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -12318,6 +12318,12 @@ qemuDomainAbortJobPostcopy(virDomainObj *vm, return -1; } + if (virDomainObjIsFailedPostcopy(vm, vm->job)) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("post-copy migration already stopped")); + return -1; + } + VIR_DEBUG("Suspending post-copy migration at client request"); qemuDomainObjAbortAsyncJob(vm); -- 2.53.0