From b08f11dd6bd93e60e8ede7c36b8ecb59f883e941 Mon Sep 17 00:00:00 2001 From: Stefan Reiter Date: Mon, 18 Nov 2019 15:41:11 +0100 Subject: [PATCH] Fix guest agent shutdown without timeout Regression from change allowing timeouts to be set, now shutting down also works without timeouts again (previously qmp failed because of the unknown "timeout" parameter passed to it). We always delete the timeout value from the arguments, regardless of truthiness. "delete" returns the deleted element, deleting a non-existant hash entry returns undef, which is fine after this point: "deleting non-existent elements returns the undefined value in their corresponding positions." - https://perldoc.perl.org/functions/delete.html Signed-off-by: Stefan Reiter (cherry picked from commit 1688362d4e0367888c9d2f592e7948e5b4e8069a) Signed-off-by: Oguz Bektas --- PVE/QemuServer.pm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index f6ee4b81..1228a0b3 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -5460,9 +5460,8 @@ sub vm_qmp_command { my $res; my $timeout; - if ($cmd->{arguments} && $cmd->{arguments}->{timeout}) { - $timeout = $cmd->{arguments}->{timeout}; - delete $cmd->{arguments}->{timeout}; + if ($cmd->{arguments}) { + $timeout = delete $cmd->{arguments}->{timeout}; } eval {