any comment ? ----- Mail original ----- De: "aderumier" <aderum...@odiso.com> À: "pve-devel" <pve-devel@pve.proxmox.com> Cc: "aderumier" <aderum...@odiso.com> Envoyé: Samedi 30 Juin 2018 13:18:49 Objet: [PATCH qemu-server] Fix #1717: delete snapshot when vm running and drive not attached
if we try to delete a snapshot, and that is disk from the snapshot is not attached anymore (unused), we can't delete the snapshot with qemu snapshot delete command (for storage which use it (qcow2,rbd,...)) example: ... unused0: rbd:vm-107-disk-3 [snap1] ... scsi2: rbd:vm-107-disk-3,size=1G -> die qmp command 'delete-drive-snapshot' failed - Device 'drive-scsi2' not found If drive is not attached, we need to use the storage snapshot delete command --- PVE/QemuServer.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index d6efb3a..31152b6 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4197,6 +4197,20 @@ sub qemu_volume_snapshot_delete { my $running = check_running($vmid); + if($running) { + + my $running_volids = {}; + my $conf = PVE::QemuConfig->load_config($vmid); + + foreach_drive($conf, sub { + my ($ds, $drive) = @_; + + return if drive_is_cdrom($drive); + my $running_volids->{$drive->{file}} = 1; + }); + $running = undef if !$running_volids->{$volid}; + } + if ($running && do_snapshots_with_qemu($storecfg, $volid)){ vm_mon_cmd($vmid, "delete-drive-snapshot", device => $deviceid, name => $snap); } else { -- 2.11.0 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel