]> git.proxmox.com Git - qemu-server.git/blobdiff - PVE/API2/Qemu.pm
move_disk : don't delete disk if used in a previous snasphot v2
[qemu-server.git] / PVE / API2 / Qemu.pm
index 009f0a133a3caa30812685aa74f1c50a227d6e68..696887f05be26f83cd33ba02f22cfe9b41e6dbdf 100644 (file)
@@ -2406,8 +2406,16 @@ __PACKAGE__->register_method({
                 }
 
                if ($param->{delete}) {
-                   eval { PVE::Storage::vdisk_free($storecfg, $old_volid); };
-                   warn $@ if $@;
+                    my $used_paths = PVE::QemuServer::get_used_paths($vmid, $storecfg, $conf, 1, 1);
+                    my $path = PVE::Storage::path($storecfg, $old_volid);
+                   if ($used_paths->{$path}){
+                       warn "volume $old_volid have snapshots. Can't delete it";
+                       PVE::QemuServer::add_unused_volume($conf, $old_volid);
+                       PVE::QemuServer::update_config_nolock($vmid, $conf, 1);
+                   } else {
+                       eval { PVE::Storage::vdisk_free($storecfg, $old_volid); };
+                       warn $@ if $@;
+                   }
                }
            };