[pve-devel] [PATCH v2 common 01/11] Make get_host_arch return raw uname entry

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Oct 29 09:56:22 CET 2019


On 10/29/19 9:54 AM, Stefan Reiter wrote:
> On 10/29/19 7:27 AM, Thomas Lamprecht wrote:
>> On 10/28/19 12:59 PM, Stefan Reiter wrote:
>>> The current version had only one user in LXC, so move the LXC-specific
>>> code there to reuse this in QemuServer.
>>>
>>> Also cache, since the host's architecture can't change during runtime.
>>>
>>> Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
>>> ---
>>>   src/PVE/Tools.pm | 17 +++++------------
>>>   1 file changed, 5 insertions(+), 12 deletions(-)
>>>
>>> diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
>>> index 550da09..c9d37ec 100644
>>> --- a/src/PVE/Tools.pm
>>> +++ b/src/PVE/Tools.pm
>>> @@ -47,6 +47,7 @@ safe_print
>>>   trim
>>>   extract_param
>>>   file_copy
>>> +get_host_arch
>>>   O_PATH
>>>   O_TMPFILE
>>>   );
>>
>> Oh, and you also never mention the export anywhere, if it was only
>> used like once previously I'd guess that the usage of this does not
>> explodes in the near future ^^ I'll let this is, but I'd like to not
>> add everthing to the exporter, especially low use methods should be
>> only added with good resaons (documented, f.e., in the commit
>> message ;) )
>>
> 
> Noted. In this case I export it to not have to modify QemuServer more than necessary, since the function name was rather unambiguous to me.

OK, that sounds valid to me. Such a hint help quite a bit to reduce
"suspiciousness" about some changes :)

> 
>>> @@ -1630,18 +1631,10 @@ sub readline_nointr {
>>>       return $line;
>>>   }
>>>   -sub get_host_arch {
>>> -
>>> -    my @uname = POSIX::uname();
>>> -    my $machine = $uname[4];
>>> -
>>> -    if ($machine eq 'x86_64') {
>>> -    return 'amd64';
>>> -    } elsif ($machine eq 'aarch64') {
>>> -    return 'arm64';
>>> -    } else {
>>> -    die "unsupported host architecture '$machine'\n";
>>> -    }
>>> +my $host_arch;
>>> +sub get_host_arch() {
>>> +    $host_arch = (POSIX::uname())[4] if !$host_arch;
>>> +    return $host_arch;
>>>   }
>>>     # Devices are: [ (12 bits minor) (12 bits major) (8 bits minor) ]
>>>
>>






More information about the pve-devel mailing list