[pve-devel] applied: [PATCH V2 qemu-server] Fix #1717: delete snapshot when vm running and drive not attached
Wolfgang Bumiller
w.bumiller at proxmox.com
Thu Jul 19 10:48:52 CEST 2018
applied
On Wed, Jul 11, 2018 at 01:55:53PM +0200, Alexandre Derumier wrote:
> changelog v2:
> - remove hash
> - remove check if cdrom
>
>
> 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 | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index d6efb3a..0fb6b0c 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -4197,6 +4197,16 @@ sub qemu_volume_snapshot_delete {
>
> my $running = check_running($vmid);
>
> + if($running) {
> +
> + $running = undef;
> + my $conf = PVE::QemuConfig->load_config($vmid);
> + foreach_drive($conf, sub {
> + my ($ds, $drive) = @_;
> + $running = 1 if $drive->{file} eq $volid;
> + });
> + }
> +
> if ($running && do_snapshots_with_qemu($storecfg, $volid)){
> vm_mon_cmd($vmid, "delete-drive-snapshot", device => $deviceid, name => $snap);
> } else {
> --
> 2.11.0
More information about the pve-devel
mailing list