From b3f302c6382a7d0b7a0e5618c59f657cfedda8f7 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 12 Feb 2015 09:28:52 +0100 Subject: [PATCH] call volume_rollback_is_possible from PVE::Storage::volume_snapshot_rollback That way it is automatically called for all plungins. --- PVE/Storage.pm | 1 + PVE/Storage/ZFSPlugin.pm | 3 --- PVE/Storage/ZFSPoolPlugin.pm | 3 --- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/PVE/Storage.pm b/PVE/Storage.pm index 7845ad1..1ab5786 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -181,6 +181,7 @@ sub volume_snapshot_rollback { if ($storeid) { my $scfg = storage_config($cfg, $storeid); my $plugin = PVE::Storage::Plugin->lookup($scfg->{type}); + $plugin->volume_rollback_is_possible($scfg, $storeid, $volname, $snap); return $plugin->volume_snapshot_rollback($scfg, $storeid, $volname, $snap); } elsif ($volid =~ m|^(/.+)$| && -e $volid) { die "snapshot rollback device is not possible"; diff --git a/PVE/Storage/ZFSPlugin.pm b/PVE/Storage/ZFSPlugin.pm index 6aac58d..f020985 100644 --- a/PVE/Storage/ZFSPlugin.pm +++ b/PVE/Storage/ZFSPlugin.pm @@ -310,9 +310,6 @@ sub volume_resize { sub volume_snapshot_rollback { my ($class, $scfg, $storeid, $volname, $snap) = @_; - # abort rollback if snapshot is not the latest - $class->volume_rollback_is_possible($scfg, $storeid, $volname, $snap); - $class->zfs_delete_lu($scfg, $volname); $class->zfs_request($class, $scfg, undef, 'rollback', "$scfg->{pool}/$volname\@$snap"); diff --git a/PVE/Storage/ZFSPoolPlugin.pm b/PVE/Storage/ZFSPoolPlugin.pm index 2a1cfef..7dc7d3e 100644 --- a/PVE/Storage/ZFSPoolPlugin.pm +++ b/PVE/Storage/ZFSPoolPlugin.pm @@ -411,9 +411,6 @@ sub volume_snapshot_delete { sub volume_snapshot_rollback { my ($class, $scfg, $storeid, $volname, $snap) = @_; - # abort rollback if snapshot is not the latest - $class->volume_rollback_is_possible($scfg, $storeid, $volname, $snap); - zfs_request($class, $scfg, undef, 'rollback', "$scfg->{pool}/$volname\@$snap"); }