]> git.proxmox.com Git - qemu-server.git/commitdiff
api: snapshot delete: prefix lock-fail error
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 15 Mar 2022 12:28:27 +0000 (13:28 +0100)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 15 Mar 2022 12:28:27 +0000 (13:28 +0100)
otherwise users might get confused if they just get a message about a
migrate lock not being available..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
PVE/API2/Qemu.pm

index 11404d6e8cd905ef56710e47eef430c3293a33b1..cb6973f186159abc7a88b9a0aec700aeca23606e 100644 (file)
@@ -4580,7 +4580,9 @@ __PACKAGE__->register_method({
 
        my $snapname = extract_param($param, 'snapname');
 
+       my $lock_obtained;
        my $do_delete = sub {
+           $lock_obtained = 1;
            PVE::Cluster::log_msg('info', $authuser, "delete snapshot VM $vmid: $snapname");
            PVE::QemuConfig->snapshot_delete($vmid, $snapname, $param->{force});
        };
@@ -4589,7 +4591,11 @@ __PACKAGE__->register_method({
            if ($param->{force}) {
                $do_delete->();
            } else {
-               PVE::GuestHelpers::guest_migration_lock($vmid, 10, $do_delete);
+               eval { PVE::GuestHelpers::guest_migration_lock($vmid, 10, $do_delete); };
+               if (my $err = $@) {
+                   die $err if $lock_obtained;
+                   die "Failed to obtain guest migration lock - replication running?\n";
+               }
            }
        };