[lxc-devel] [lxd/master] lxd/vm: Don't crash on vm-initiated reboots

stgraber on Github lxc-bot at linuxcontainers.org
Sat Jan 18 19:05:29 UTC 2020


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 354 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20200118/3034121b/attachment.bin>
-------------- next part --------------
From b19d206ba6a986093aff8ae22caab9dc9b50ce2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Sat, 18 Jan 2020 21:03:36 +0200
Subject: [PATCH] lxd/vm: Don't crash on vm-initiated reboots
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 lxd/instance/drivers/vm_qemu.go | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lxd/instance/drivers/vm_qemu.go b/lxd/instance/drivers/vm_qemu.go
index e283e2fe78..43a71c6fdc 100644
--- a/lxd/instance/drivers/vm_qemu.go
+++ b/lxd/instance/drivers/vm_qemu.go
@@ -476,11 +476,15 @@ func (vm *qemu) OnStop(target string) error {
 		return err
 	}
 
-	// Done after this.
-	defer op.Done(nil)
-
 	if target == "reboot" {
-		return vm.Start(false)
+		err := vm.Start(false)
+		if err != nil {
+			return err
+		}
+	}
+
+	if op != nil {
+		op.Done(nil)
 	}
 
 	return nil


More information about the lxc-devel mailing list