diff --git a/PVE/API2/Storage/Status.pm b/PVE/API2/Storage/Status.pm index 9a5a952..fd7ac5f 100644 --- a/PVE/API2/Storage/Status.pm +++ b/PVE/API2/Storage/Status.pm @@ -417,8 +417,10 @@ __PACKAGE__->register_method ({ raise_param_exc({ filename => "missing '.tar.gz' or '.tar.xz' extension" }); } $path = PVE::Storage::get_vztmpl_dir($cfg, $param->{storage}); - } else { - raise_param_exc({ content => "upload content type '$content' not allowed" }); + } elsif ($content eq 'snippets') { + $path = PVE::Storage::get_snippet_dir($cfg, $param->{storage}); + } else { + raise_param_exc({ content => "upload content type '$content' not allowed" }); } die "storage '$param->{storage}' does not support '$content' content\n" diff --git a/PVE/Storage.pm b/PVE/Storage.pm index eb5e86f..bc0981b 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -340,6 +340,15 @@ sub get_iso_dir { return $plugin->get_subdir($scfg, 'iso'); } +sub get_snippet_dir { + my ($cfg, $storeid) = @_; + + my $scfg = storage_config($cfg, $storeid); + my $plugin = PVE::Storage::Plugin->lookup($scfg->{type}); + + return $plugin->get_subdir($scfg, 'snippets'); +} + sub get_vztmpl_dir { my ($cfg, $storeid) = @_;