use qmp for vm_devices_list

This commit is contained in:
Dietmar Maurer 2012-07-13 08:42:13 +02:00
parent 9df5cbcc70
commit ceea9078ad

View File

@ -2364,24 +2364,13 @@ sub next_migrate_port {
sub vm_devices_list { sub vm_devices_list {
my ($vmid) = @_; my ($vmid) = @_;
my $res = vm_monitor_command ($vmid, "info pci"); my $res = vm_mon_cmd($vmid, 'query-pci');
my @lines = split ("\n", $res); my $devices = {};
my $devices; foreach my $pcibus (@$res) {
my $bus; foreach my $device (@{$pcibus->{devices}}) {
my $addr; next if !$device->{'qdev_id'};
my $id; $devices->{$device->{'qdev_id'}} = $device;
foreach my $line (@lines) {
$line =~ s/^\s+//;
if ($line =~ m/^Bus (\d+), device (\d+), function (\d+):$/) {
$bus=$1;
$addr=$2;
}
if ($line =~ m/^id "([a-z][a-z_\-]*\d*)"$/) {
$id=$1;
$devices->{$id}->{bus}=$bus;
$devices->{$id}->{addr}=$addr;
} }
} }