plugin: dir: implement import content type
in DirPlugin and not Plugin (because of cyclic dependency of Plugin -> OVF -> Storage -> Plugin otherwise) only ovf is currently supported (though ova will be shown in import listing), expects the files to not be in a subdir, and adjacent to the ovf file. listed will be all ovf/qcow2/raw/vmdk files. ovf because it can be imported, and the rest because they can be used in the 'import-from' part of qemu-server. Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
4e97c507d2
commit
d955a46a32
@ -221,6 +221,8 @@ ovf:Item[rasd:InstanceID='%s']/rasd:ResourceType", $controller_id);
|
||||
}
|
||||
|
||||
($backing_file_path) = $backing_file_path =~ m|^(/.*)|; # untaint
|
||||
($filepath) = $filepath =~ m|^(${PVE::Storage::SAFE_CHAR_CLASS_RE}+)$|; # untaint & check no sub/parent dirs
|
||||
die "invalid path\n" if !$filepath;
|
||||
|
||||
my $virtual_size = PVE::Storage::file_size_info($backing_file_path);
|
||||
die "error parsing $backing_file_path, cannot determine file size\n"
|
||||
@ -229,7 +231,8 @@ ovf:Item[rasd:InstanceID='%s']/rasd:ResourceType", $controller_id);
|
||||
$pve_disk = {
|
||||
disk_address => $pve_disk_address,
|
||||
backing_file => $backing_file_path,
|
||||
virtual_size => $virtual_size
|
||||
virtual_size => $virtual_size,
|
||||
relative_path => $filepath,
|
||||
};
|
||||
push @disks, $pve_disk;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user