# lock shared storage
return $plugin->cluster_lock_storage($storeid, $scfg->{shared}, undef, sub {
- my $volname = $plugin->alloc_image($storeid, $scfg, $vmid, $fmt, $name, $size);
+ my $old_umask = umask(umask|0037);
+ my $volname = eval { $plugin->alloc_image($storeid, $scfg, $vmid, $fmt, $name, $size) };
+ my $err = $@;
+ umask $old_umask;
+ die $err if $err;
return "$storeid:$volname";
});
}
my $ids = $cfg->{ids};
my $info = {};
-
+
+ my @ctypes = PVE::Tools::split_list($content);
+
my $slist = [];
foreach my $storeid (keys %$ids) {
- next if $content && !$ids->{$storeid}->{content}->{$content};
-
next if !storage_check_enabled($cfg, $storeid, undef, 1);
+ my $want_ctype = 0;
+ foreach my $ctype (@ctypes) {
+ if ($ids->{$storeid}->{content}->{$ctype}) {
+ $want_ctype = 1;
+ last;
+ }
+ }
+ next if !$want_ctype;
+
my $type = $ids->{$storeid}->{type};
$info->{$storeid} = {