return 1 for storage which support snapshot before doing the snapshot Signed-off-by: Alexandre Derumier <aderum...@odiso.com> --- PVE/Storage.pm | 4 ++-- PVE/Storage/NexentaPlugin.pm | 4 +++- PVE/Storage/Plugin.pm | 6 +++--- PVE/Storage/RBDPlugin.pm | 4 ++-- PVE/Storage/SheepdogPlugin.pm | 6 +++--- 5 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/PVE/Storage.pm b/PVE/Storage.pm index 271b3f9..6771e73 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -139,13 +139,13 @@ sub volume_resize { } sub volume_snapshot { - my ($cfg, $volid, $snap, $running) = @_; + my ($cfg, $volid, $snap, $running, $testfeature) = @_; my ($storeid, $volname) = parse_volume_id($volid, 1); if ($storeid) { my $scfg = storage_config($cfg, $storeid); my $plugin = PVE::Storage::Plugin->lookup($scfg->{type}); - return $plugin->volume_snapshot($scfg, $storeid, $volname, $snap, $running); + return $plugin->volume_snapshot($scfg, $storeid, $volname, $snap, $running, $testfeature); } elsif ($volid =~ m|^(/.+)$| && -e $volid) { die "snapshot device is not possible"; } else { diff --git a/PVE/Storage/NexentaPlugin.pm b/PVE/Storage/NexentaPlugin.pm index a5b6fe2..7b78de8 100644 --- a/PVE/Storage/NexentaPlugin.pm +++ b/PVE/Storage/NexentaPlugin.pm @@ -347,7 +347,9 @@ sub volume_resize { } sub volume_snapshot { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + my ($class, $scfg, $storeid, $volname, $snap, $running, $testfeature) = @_; + + return 1 if $testfeature; nexenta_request($scfg, 'create_snapshot', 'zvol', "$scfg->{pool}/$volname", $snap, ''); } diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm index 41427c5..b48ee70 100644 --- a/PVE/Storage/Plugin.pm +++ b/PVE/Storage/Plugin.pm @@ -510,11 +510,11 @@ sub volume_resize { } sub volume_snapshot { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + my ($class, $scfg, $storeid, $volname, $snap, $running, $testfeature) = @_; - die "can't snapshot this image format" if $volname !~ m/\.(qcow2|qed)$/; + die "can't snapshot this image format" if $volname !~ m/\.(qcow2)$/; - return 1 if $running; + return 1 if $running || $testfeature; my $path = $class->path($scfg, $volname); diff --git a/PVE/Storage/RBDPlugin.pm b/PVE/Storage/RBDPlugin.pm index 6d1d741..daba905 100644 --- a/PVE/Storage/RBDPlugin.pm +++ b/PVE/Storage/RBDPlugin.pm @@ -279,9 +279,9 @@ sub volume_resize { } sub volume_snapshot { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; + my ($class, $scfg, $storeid, $volname, $snap, $running, $testfeature) = @_; - return 1 if $running; + return 1 if $running || $testfeature; my $cmd = &$rbd_cmd($scfg, $storeid, 'snap', 'create', '--snap', $snap, $volname); run_command($cmd, errmsg => "rbd snapshot $volname' error", errfunc => sub {}); diff --git a/PVE/Storage/SheepdogPlugin.pm b/PVE/Storage/SheepdogPlugin.pm index 346a2f2..ee8a057 100644 --- a/PVE/Storage/SheepdogPlugin.pm +++ b/PVE/Storage/SheepdogPlugin.pm @@ -243,9 +243,9 @@ sub volume_resize { } sub volume_snapshot { - my ($class, $scfg, $storeid, $volname, $snap, $running) = @_; - - return 1 if $running; + my ($class, $scfg, $storeid, $volname, $snap, $running, $testfeature) = @_; + + return 1 if $running || $testfeature; my $cmd = &$collie_cmd($scfg, 'vdi', 'snapshot', '-s', $snap, $volname); run_command($cmd, errmsg => "sheepdog snapshot $volname' error"); -- 1.7.10 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel