From 7e481f217987d8b6835449a2a6b4ec85ba704efa Mon Sep 17 00:00:00 2001 From: Alexandru Matei Date: Tue, 8 Nov 2022 21:14:53 +0200 Subject: [PATCH] qemu: set stopped only if StopVM is successful Fixes: #5624 Signed-off-by: Alexandru Matei --- src/runtime/virtcontainers/qemu.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/virtcontainers/qemu.go b/src/runtime/virtcontainers/qemu.go index b7f9601c13..bea7fdeba8 100644 --- a/src/runtime/virtcontainers/qemu.go +++ b/src/runtime/virtcontainers/qemu.go @@ -969,7 +969,7 @@ func (q *qemu) waitVM(ctx context.Context, timeout int) error { } // StopVM will stop the Sandbox's VM. -func (q *qemu) StopVM(ctx context.Context, waitOnly bool) error { +func (q *qemu) StopVM(ctx context.Context, waitOnly bool) (err error) { q.mu.Lock() defer q.mu.Unlock() span, _ := katatrace.Trace(ctx, q.Logger(), "StopVM", qemuTracingTags, map[string]string{"sandbox_id": q.id}) @@ -983,7 +983,9 @@ func (q *qemu) StopVM(ctx context.Context, waitOnly bool) error { defer func() { q.cleanupVM() - q.stopped = true + if err == nil { + q.stopped = true + } }() if q.config.Debug && q.qemuConfig.LogFile != "" {