From 4747fcc07d801df690180b0b4ea0861c7fc3016f Mon Sep 17 00:00:00 2001 From: Zhenzhong Duan Date: Thu, 10 Jul 2025 03:21:22 -0400 Subject: [PATCH] qemu: Bypass sending VIR_DOMAIN_EVENT_RESUMED event when TD VM reboot MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When TD VM reboot, qemu process is recreated by destroying old and creating new one. When new qemu process starts, it sends a RESUME event while libvirt domain isn't in run state yet. Then event VIR_DOMAIN_EVENT_RESUMED is sent out and confuse control plane. Check priv->pausedShutdown and bypass the event for TD VM, for normal VM, domain is in run state and already bypassing it. Signed-off-by: Zhenzhong Duan Reviewed-by: Daniel P. Berrangé --- src/qemu/qemu_process.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6b7b971f27..a81c02c9d5 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -816,9 +816,11 @@ qemuProcessHandleResume(qemuMonitor *mon G_GNUC_UNUSED, reason = VIR_DOMAIN_RUNNING_POSTCOPY; } virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, reason); - event = virDomainEventLifecycleNewFromObj(vm, - VIR_DOMAIN_EVENT_RESUMED, - eventDetail); + + if (!priv->pausedShutdown) + event = virDomainEventLifecycleNewFromObj(vm, + VIR_DOMAIN_EVENT_RESUMED, + eventDetail); qemuDomainSaveStatus(vm); } -- 2.47.2