[pve-devel] [PATCH storage] map_volume: fallback to 'path'
Mira Limbeck
m.limbeck at proxmox.com
Fri Apr 26 15:00:57 CEST 2019
Adds a fallback to 'Plugin::path' in the default implementation of
'map_volume' to make the additional call to 'path' unnecessary if
'map_volume' is not implemented in the plugin used. 'Plugin::path' is now
always returned if the plugin in question does not override 'map_volume'.
Signed-off-by: Mira Limbeck <m.limbeck at proxmox.com>
---
This change was discussed with @Wolfgang off-list. It should simplify
the use-case of calling 'map_volume' followed by 'path' if it is not
defined as found for example in pve-container/src/API2/LXC.pm:
my $path = PVE::Storage::map_volume($storage_cfg, $volid);
$path = PVE::Storage::path($storage_cfg, $volid) if !defined($path);
PVE/Storage/Plugin.pm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/PVE/Storage/Plugin.pm b/PVE/Storage/Plugin.pm
index 7964441..6b428d7 100644
--- a/PVE/Storage/Plugin.pm
+++ b/PVE/Storage/Plugin.pm
@@ -966,7 +966,8 @@ sub deactivate_storage {
sub map_volume {
my ($class, $storeid, $scfg, $volname, $snapname) = @_;
- return undef;
+ my ($path, $vmid, $vtype) = $class->path($scfg, $volname, $storeid, $snapname);
+ return wantarray ? ($path, $vmid, $vtype) : $path;
}
sub unmap_volume {
--
2.11.0
More information about the pve-devel
mailing list