[pve-devel] [PATCH qemu-server v5 02/11] pci: mapping: move implementation of find_on_current_node here
Dominik Csapak
d.csapak at proxmox.com
Thu Feb 13 10:30:48 CET 2025
On 2/11/25 13:45, Christoph Heiss wrote:
> On Mon Jan 20, 2025 at 3:51 PM CET, Dominik Csapak wrote:
> [..]
>> +my sub get_current_node_mapping {
>> + my ($mapping_config, $mapping_name) = @_;
>> +
>> + my $node = PVE::INotify::nodename();
>> + my $devices = PVE::Mapping::PCI::get_node_mapping($mapping_config, $mapping_name, $node);
>> + die "PCI device mapping not found for '$mapping_name'\n" if !$devices || !scalar($devices->@*);
>> +
>> + return $devices;
>> +}
>> +
>> # returns the parsed pci config but parses the 'host' part into
>> # a list if lists into the 'id' property like this:
>> #
>> @@ -429,8 +440,8 @@ sub parse_hostpci {
>>
>> if ($mapping) {
>> # we have no ordinary pci id, must be a mapping
>> - my $devices = PVE::Mapping::PCI::find_on_current_node($mapping);
>> - die "PCI device mapping not found for '$mapping'\n" if !$devices || !scalar($devices->@*);
>> + my $config = PVE::Mapping::PCI::config();
>
> Nit: Maybe move this line into get_current_node_mapping() too, much like
> is done in the previous patch for PVE::QemuServer::USB? Would be nice
> from a consistency point-of-view.
>
just note, this would not have worked, because I needed the $config outside of that function
but aside: i'll leave the 'find_on_current_node' code in guest-common, since we don't really
gain anything by moving that here and it makes more trouble with patch ordering and
depends/breaks cycle...
>> + my $devices = get_current_node_mapping($config, $mapping);
More information about the pve-devel
mailing list