some code style refcatoring/cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht
2022-04-22 14:30:01 +02:00
parent 8c1a476be9
commit 34fd49a69b
2 changed files with 41 additions and 21 deletions

View File

@ -593,18 +593,21 @@ sub volume_has_feature {
current => { raw => 1 }, current => { raw => 1 },
snap => { raw => 1 }, snap => { raw => 1 },
}, },
template => { current => { qcow2 => 1, raw => 1, vmdk => 1, subvol => 1 } }, template => {
current => { qcow2 => 1, raw => 1, vmdk => 1, subvol => 1 },
},
copy => { copy => {
base => { qcow2 => 1, raw => 1, subvol => 1, vmdk => 1 }, base => { qcow2 => 1, raw => 1, subvol => 1, vmdk => 1 },
current => { qcow2 => 1, raw => 1, subvol => 1, vmdk => 1 }, current => { qcow2 => 1, raw => 1, subvol => 1, vmdk => 1 },
snap => { qcow2 => 1, raw => 1, subvol => 1 }, snap => { qcow2 => 1, raw => 1, subvol => 1 },
}, },
sparseinit => { base => {qcow2 => 1, raw => 1, vmdk => 1 }, sparseinit => {
current => {qcow2 => 1, raw => 1, vmdk => 1 } }, base => { qcow2 => 1, raw => 1, vmdk => 1 },
current => { qcow2 => 1, raw => 1, vmdk => 1 },
},
}; };
my ($vtype, $name, $vmid, $basename, $basevmid, $isBase, $format) = my ($vtype, $name, $vmid, $basename, $basevmid, $isBase, $format) = $class->parse_volname($volname);
$class->parse_volname($volname);
my $key = undef; my $key = undef;
if ($snapname) { if ($snapname) {

View File

@ -1052,26 +1052,43 @@ sub volume_has_feature {
my ($class, $scfg, $feature, $storeid, $volname, $snapname, $running, $opts) = @_; my ($class, $scfg, $feature, $storeid, $volname, $snapname, $running, $opts) = @_;
my $features = { my $features = {
snapshot => { current => { qcow2 => 1}, snap => { qcow2 => 1} }, snapshot => {
clone => { base => {qcow2 => 1, raw => 1, vmdk => 1} }, current => { qcow2 => 1 },
template => { current => {qcow2 => 1, raw => 1, vmdk => 1, subvol => 1} }, snap => { qcow2 => 1 },
copy => { base => {qcow2 => 1, raw => 1, vmdk => 1}, },
current => {qcow2 => 1, raw => 1, vmdk => 1}, clone => {
snap => {qcow2 => 1} }, base => { qcow2 => 1, raw => 1, vmdk => 1 },
sparseinit => { base => {qcow2 => 1, raw => 1, vmdk => 1}, },
current => {qcow2 => 1, raw => 1, vmdk => 1} }, template => {
rename => { current => {qcow2 => 1, raw => 1, vmdk => 1} }, current => { qcow2 => 1, raw => 1, vmdk => 1, subvol => 1 },
},
copy => {
base => { qcow2 => 1, raw => 1, vmdk => 1 },
current => { qcow2 => 1, raw => 1, vmdk => 1 },
snap => { qcow2 => 1 },
},
sparseinit => {
base => { qcow2 => 1, raw => 1, vmdk => 1 },
current => { qcow2 => 1, raw => 1, vmdk => 1 },
},
rename => {
current => {qcow2 => 1, raw => 1, vmdk => 1},
},
}; };
# clone_image creates a qcow2 volume if ($feature eq 'clone') {
return 0 if $feature eq 'clone' && if (
defined($opts->{valid_target_formats}) && defined($opts->{valid_target_formats})
!(grep { $_ eq 'qcow2' } @{$opts->{valid_target_formats}}); && !(grep { $_ eq 'qcow2' } @{$opts->{valid_target_formats}})
) {
return 0; # clone_image creates a qcow2 volume
}
} elsif ($feature eq 'rename') {
return 0 if $class->can('api') && $class->api() < 10;
}
return 0 if $feature eq 'rename' && $class->can('api') && $class->api() < 10;
my ($vtype, $name, $vmid, $basename, $basevmid, $isBase, $format) = my ($vtype, $name, $vmid, $basename, $basevmid, $isBase, $format) = $class->parse_volname($volname);
$class->parse_volname($volname);
my $key = undef; my $key = undef;
if($snapname){ if($snapname){