[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