[pve-devel] [PATCH common 1/1] SysFSTools: get name from mediated device types
Wolfgang Bumiller
w.bumiller at proxmox.com
Fri Aug 12 09:25:25 CEST 2022
On Tue, Jul 26, 2022 at 08:55:57AM +0200, Dominik Csapak wrote:
> Some vendors also provide a 'name' file here for the type, which, in case of
> NVIDIA, is the official name for the vGPU type in their documentation,
> so extract and return it too (if it exists).
>
> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
> ---
> src/PVE/SysFSTools.pm | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/src/PVE/SysFSTools.pm b/src/PVE/SysFSTools.pm
> index ac48f2c..e897b22 100644
> --- a/src/PVE/SysFSTools.pm
> +++ b/src/PVE/SysFSTools.pm
> @@ -172,11 +172,15 @@ sub get_mdev_types {
> my $available = int(file_read_firstline("$type_path/available_instances"));
> my $description = PVE::Tools::file_get_contents("$type_path/description");
>
> - push @$types, {
> + my $entry = {
> type => $type,
> description => $description,
> available => $available,
> };
> +
> + $entry->{name} = PVE::Tools::file_get_contents("$type_path/name") if -e "$type_path/name";
Since this is a sysfs file I'd expect this to end in a newline?
Otherwise this is fine, though I'm not a fan of `-e` checks in general.
You could use `file_read_firstline` which would `chomp` the newline and
return `undef` if opening the file fails (and you could then (maybe
optionally) check `$!` for `ENOENT`).
> +
> + push @$types, $entry;
> });
>
> return $types;
> --
> 2.30.2
More information about the pve-devel
mailing list