From: Dominik Csapak Date: Wed, 13 Jun 2018 09:17:26 +0000 (+0200) Subject: use 'system_wakeup' to resume suspended vms X-Git-Url: https://git.proxmox.com/?p=qemu-server.git;a=commitdiff_plain;h=c2786bedc637c3cfa2702803c0ea0b75c2a03257 use 'system_wakeup' to resume suspended vms when a vm is suspended (e.g. autosuspend on windows) we detect that it is not running, display the resume button, but 'cont' does not wakeup the system from suspend with this we can wake up suspended vms Signed-off-by: Dominik Csapak --- diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 00e1669..277bc58 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -5170,6 +5170,13 @@ sub vm_resume { PVE::QemuConfig->lock_config($vmid, sub { + my $res = vm_mon_cmd($vmid, 'query-status'); + my $resume_cmd = 'cont'; + + if ($res->{status} && $res->{status} eq 'suspended') { + $resume_cmd = 'system_wakeup'; + } + if (!$nocheck) { my $conf = PVE::QemuConfig->load_config($vmid); @@ -5177,10 +5184,10 @@ sub vm_resume { PVE::QemuConfig->check_lock($conf) if !($skiplock || PVE::QemuConfig->has_lock($conf, 'backup')); - vm_mon_cmd($vmid, "cont"); + vm_mon_cmd($vmid, $resume_cmd); } else { - vm_mon_cmd_nocheck($vmid, "cont"); + vm_mon_cmd_nocheck($vmid, $resume_cmd); } }); }