[pve-devel] [PATCH 1/3] add qemu_machine_pxe

Alexandre Derumier aderumier at odiso.com
Fri Nov 6 10:27:04 CET 2015


return machinename with .pxe suffix if a nic with pxe romfile exist

Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
 PVE/QemuMigrate.pm | 12 ++----------
 PVE/QemuServer.pm  | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
index ffa7a0b..7ae3880 100644
--- a/PVE/QemuMigrate.pm
+++ b/PVE/QemuMigrate.pm
@@ -141,16 +141,8 @@ sub prepare {
     if (my $pid = PVE::QemuServer::check_running($vmid)) {
 	die "cant migrate running VM without --online\n" if !$online;
 	$running = $pid;
-	$self->{forcemachine} = PVE::QemuServer::get_current_qemu_machine($vmid);
-
-	foreach my $opt (keys %$conf) {
-	    next if $opt !~ m/^net(\d+)$/;
-	    my $net = PVE::QemuServer::parse_net($conf->{$opt});
-	    next if !$net;
-	    my $romfile = PVE::QemuServer::vm_mon_cmd_nocheck($vmid, 'qom-get', path => $opt, property => 'romfile');
-	    $self->{forcemachine} .= '.pxe' if $romfile =~ m/pxe/;
-	    last;
-	}
+
+	$self->{forcemachine} = PVE::QemuServer::qemu_machine_pxe($vmid, $conf);
 
     }
 
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 8b6da2f..0aa1ff4 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -6365,6 +6365,22 @@ sub qemu_machine_feature_enabled {
 
 }
 
+sub qemu_machine_pxe {
+    my ($vmid, $conf, $machine) = @_;
+
+    $machine =  PVE::QemuServer::get_current_qemu_machine($vmid) if !$machine;
+
+    foreach my $opt (keys %$conf) {
+	next if $opt !~ m/^net(\d+)$/;
+	my $net = PVE::QemuServer::parse_net($conf->{$opt});
+	next if !$net;
+	my $romfile = PVE::QemuServer::vm_mon_cmd_nocheck($vmid, 'qom-get', path => $opt, property => 'romfile');
+	return $machine.".pxe" if $romfile =~ m/pxe/;
+	last;
+    }
+
+}
+
 sub lspci {
 
     my $devices = {};
-- 
2.1.4



More information about the pve-devel mailing list