From 5b3c356015c876a3c149af2c88bb62dfa352d7a7 Mon Sep 17 00:00:00 2001 From: Laine Stump Date: Fri, 1 Jun 2012 12:50:37 -0400 Subject: [PATCH] qemu: fix netdev alias name assignment wrt type='hostdev' This patch resolves: https://bugzilla.redhat.com/show_bug.cgi?id=827519 The problem is that an interface with type='hostdev' will have an alias of the form "hostdev%d", while the function that looks through existing netdevs to determine the name to use for a new addition will fail if there's an existing entry that does not match the form "net%d". This is another of the handful of places that need an exception due to the hybrid nature of (which is not exactly an or a , but is both at the same time). (cherry picked from commit 6734ce7bc8ec4da7900080aa17fef20c68d401ef) --- src/qemu/qemu_command.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6c404983e5..6f6ef04d8f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -542,6 +542,11 @@ qemuAssignDeviceNetAlias(virDomainDefPtr def, virDomainNetDefPtr net, int idx) idx = 0; for (i = 0 ; i < def->nnets ; i++) { int thisidx; + + if (def->nets[i]->type == VIR_DOMAIN_NET_TYPE_HOSTDEV) { + /* type='hostdev' interfaces have a hostdev%d alias */ + continue; + } if ((thisidx = qemuDomainDeviceAliasIndex(&def->nets[i]->info, "net")) < 0) { qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Unable to determine device index for network device"));