--- Changed: Moved the deactiave call from Storage.pm to the plugins as they are also the ones dealing with the $running parameter.
PVE/Storage/Plugin.pm | 2 ++ PVE/Storage/RBDPlugin.pm | 2 ++ PVE/Storage/SheepdogPlugin.pm | 2 ++ PVE/Storage/ZFSPoolPlugin.pm | 1 + 4 files changed, 7 insertions(+) diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm index 0eb9e73..6a1d6b6 100644 --- a/PVE/Storage/Plugin.pm +++ b/PVE/Storage/Plugin.pm @@ -709,6 +709,8 @@ sub volume_snapshot_delete { my $path = $class->filesystem_path($scfg, $volname); + $class->deactivate_volume($storeid, $scfg, $volname, $snap, {}); + my $cmd = ['/usr/bin/qemu-img', 'snapshot','-d', $snap, $path]; run_command($cmd); diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm index 71edc8b..730fb85 100644 --- a/PVE/Storage/RBDPlugin.pm +++ b/PVE/Storage/RBDPlugin.pm @@ -569,6 +569,8 @@ sub volume_snapshot_delete { return 1 if $running; + $class->deactivate_volume($storeid, $scfg, $volname, $snap, {}); + my ($vtype, $name, $vmid) = $class->parse_volname($volname); my (undef, undef, undef, $protected) = rbd_volume_info($scfg, $storeid, $name, $snap); diff --git a/PVE/Storage/SheepdogPlugin.pm b/PVE/Storage/SheepdogPlugin.pm index 527c6c6..6368cf4 100644 --- a/PVE/Storage/SheepdogPlugin.pm +++ b/PVE/Storage/SheepdogPlugin.pm @@ -416,6 +416,8 @@ sub volume_snapshot_delete { return 1 if $running; + $class->deactivate_volume($storeid, $scfg, $volname, $snap, {}); + my ($vtype, $name, $vmid, $basename, $basevmid, $isBase) = $class->parse_volname($volname); diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm index 632645f..8002dda 100644 --- a/PVE/Storage/ZFSPoolPlugin.pm +++ b/PVE/Storage/ZFSPoolPlugin.pm @@ -462,6 +462,7 @@ sub volume_snapshot { sub volume_snapshot_delete { my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + $class->deactivate_volume($storeid, $scfg, $volname, $snap, {}); $class->zfs_request($scfg, undef, 'destroy', "$scfg->{pool}/$volname\@$snap"); } -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel