36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
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) = @_;
|