]> git.proxmox.com Git - pve-storage.git/commitdiff
import: rework plugin api to not need a blessed object
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 12 Mar 2024 11:51:26 +0000 (12:51 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 13 Mar 2024 14:29:35 +0000 (15:29 +0100)
does not really make sense, and if the plugin wants that, it can still
be done, like we do here for the ESXiPlugin

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/PVE/API2/Storage/Status.pm
src/PVE/Storage/ESXiPlugin.pm

index 5bfb27ff4a3ca347a5a002e3d4c5bcbdbea828c2..3ce11fc6d6a51df5ab9b50637a6d4279fe04c415 100644 (file)
@@ -782,8 +782,7 @@ __PACKAGE__->register_method({
        PVE::Storage::check_volume_access($rpcenv, $authuser, $cfg, undef, $volid);
 
        return PVE::Tools::run_with_timeout(30, sub {
-           my $import = PVE::Storage::get_import_metadata($cfg, $volid);
-           return $import->get_create_args();
+           return PVE::Storage::get_import_metadata($cfg, $volid);
        });
     }});
 
index 7c3a13ae125e32c233e421efd7dc31e131d84c87..1e02b10c1a0c985771fbd8ec18ccf3118dd5e029 100644 (file)
@@ -242,7 +242,7 @@ sub split_path : prototype($) {
     return;
 }
 
-sub get_import_metadata : prototype($$$$) {
+sub get_import_metadata : prototype($$$$$) {
     my ($class, $scfg, $volname, $storeid) = @_;
 
     if ($volname !~ m!^([^/]+)/.*\.vmx$!) {
@@ -256,13 +256,14 @@ sub get_import_metadata : prototype($$$$) {
 
     my $manifest = $class->get_manifest($storeid, $scfg, 0);
     my $contents = file_get_contents($vmx_path);
-    return PVE::Storage::ESXiPlugin::VMX->parse(
+    my $vmx = PVE::Storage::ESXiPlugin::VMX->parse(
        $storeid,
        $scfg,
        $volname,
        $contents,
        $manifest,
     );
+    return $vmx->get_create_args();
 }
 
 # Returns a size in bytes, this is a helper for already-mounted files.