Am 19.04.24 um 14:45 schrieb Dominik Csapak: > such as the mapping name and if it's marked for live-migration (pci only) > > Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> > --- > PVE/API2/Qemu.pm | 2 +- > PVE/QemuMigrate.pm | 7 ++++--- > PVE/QemuServer.pm | 17 ++++++++++------- > 3 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm > index 2a349c8c..f2fa345d 100644 > --- a/PVE/API2/Qemu.pm > +++ b/PVE/API2/Qemu.pm > @@ -4538,7 +4538,7 @@ __PACKAGE__->register_method({ > $res->{local_disks} = [ values %$local_disks ];; > > $res->{local_resources} = $local_resources; > - $res->{'mapped-resources'} = $mapped_resources; > + $res->{'mapped-resources'} = [ keys $mapped_resources->%* ];
Sorting the keys leads to a nicer API result IMHO. > > return $res; > > diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm > index 381022f5..a46eb2a3 100644 > --- a/PVE/QemuMigrate.pm > +++ b/PVE/QemuMigrate.pm > @@ -233,7 +233,7 @@ sub prepare { > my ($loc_res, $mapped_res, $missing_mappings_by_node) = > PVE::QemuServer::check_local_resources($conf, 1); > my $blocking_resources = []; > for my $res ($loc_res->@*) { > - if (!grep($res, $mapped_res->@*)) { > + if (!defined($mapped_res->{$res})) { > push $blocking_resources->@*, $res; > } > } > @@ -245,10 +245,11 @@ sub prepare { > } > } > > - if (scalar($mapped_res->@*)) { > + if (scalar(keys $mapped_res->%*)) { > my $missing_mappings = $missing_mappings_by_node->{$self->{node}}; > + my $mapped_text = join(", ", keys $mapped_res->%*); Nit: Can be moved into the if, keys can be sorted. > if ($running) { > - die "can't migrate running VM which uses mapped devices: " . > join(", ", $mapped_res->@*) . "\n"; > + die "can't migrate running VM which uses mapped devices: > $mapped_text\n"; > } elsif (scalar($missing_mappings->@*)) { > die "can't migrate to '$self->{node}': missing mapped devices " . > join(", ", $missing_mappings->@*) . "\n"; > } else { _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel