and set it on all current users

Signed-off-by: Dominik Csapak <d.csa...@proxmox.com>
---
 PVE/CLI/qm.pm     |  2 +-
 PVE/QemuServer.pm | 13 ++++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm
index b105830f..fbc590f5 100755
--- a/PVE/CLI/qm.pm
+++ b/PVE/CLI/qm.pm
@@ -933,7 +933,7 @@ __PACKAGE__->register_method({
 
            if (!$clean || $guest) {
                # vm was shutdown from inside the guest or crashed, doing api 
cleanup
-               PVE::QemuServer::vm_stop_cleanup($storecfg, $vmid, $conf, 0, 0);
+               PVE::QemuServer::vm_stop_cleanup($storecfg, $vmid, $conf, 0, 0, 
1);
            }
            PVE::GuestHelpers::exec_hookscript($conf, $vmid, 'post-stop');
 
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 680c36f2..5ab52e7a 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -6165,7 +6165,7 @@ sub cleanup_pci_devices {
 }
 
 sub vm_stop_cleanup {
-    my ($storecfg, $vmid, $conf, $keepActive, $apply_pending_changes) = @_;
+    my ($storecfg, $vmid, $conf, $keepActive, $apply_pending_changes, $noerr) 
= @_;
 
     eval {
 
@@ -6191,7 +6191,10 @@ sub vm_stop_cleanup {
 
        vmconfig_apply_pending($vmid, $conf, $storecfg) if 
$apply_pending_changes;
     };
-    warn $@ if $@; # avoid errors - just warn
+    if (my $err = $@) {
+       die $err if !$noerr;
+       warn $err;
+    }
 }
 
 # call only in locked context
@@ -6242,7 +6245,7 @@ sub _do_vm_stop {
                die "VM quit/powerdown failed - got timeout\n";
            }
        } else {
-           vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 1) if $conf;
+           vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 1, 1) if 
$conf;
            return;
        }
     } else {
@@ -6273,7 +6276,7 @@ sub _do_vm_stop {
        sleep 1;
     }
 
-    vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 1) if $conf;
+    vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 1, 1) if $conf;
 }
 
 # Note: use $nocheck to skip tests if VM configuration file exists.
@@ -6288,7 +6291,7 @@ sub vm_stop {
        my $pid = check_running($vmid, $nocheck, $migratedfrom);
        kill 15, $pid if $pid;
        my $conf = PVE::QemuConfig->load_config($vmid, $migratedfrom);
-       vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 0);
+       vm_stop_cleanup($storecfg, $vmid, $conf, $keepActive, 0, 1);
        return;
     }
 
-- 
2.39.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to