storage: add volume_support_qemu_snapshot

Returns if the volume is supporting qemu snapshot:
 'internal' : do the snapshot with qemu internal snapshot
 'external' : do the snapshot with qemu external snapshot
  undef     : does not support qemu snapshot

Signed-off-by: Alexandre Derumier <alexandre.derumier@groupe-cyllene.com>
This commit is contained in:
Alexandre Derumier
2025-07-09 18:21:58 +02:00
committed by Wolfgang Bumiller
parent 5f916079ea
commit a8d8bdf9ef
6 changed files with 66 additions and 0 deletions

View File

@ -2370,6 +2370,21 @@ sub rename_snapshot {
);
}
sub volume_support_qemu_snapshot {
my ($cfg, $volid) = @_;
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_support_qemu_snapshot($storeid, $scfg, $volname);
}
return undef;
}
# Various io-heavy operations require io/bandwidth limits which can be
# configured on multiple levels: The global defaults in datacenter.cfg, and
# per-storage overrides. When we want to do a restore from storage A to storage