mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 20:45:18 +00:00
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 <interface type='hostdev'> (which is not exactly an <interface> or a <hostdev>, but is both at the same time). (cherry picked from commit 6734ce7bc8ec4da7900080aa17fef20c68d401ef)
This commit is contained in:
parent
114b726f0d
commit
5b3c356015
@ -542,6 +542,11 @@ qemuAssignDeviceNetAlias(virDomainDefPtr def, virDomainNetDefPtr net, int idx)
|
|||||||
idx = 0;
|
idx = 0;
|
||||||
for (i = 0 ; i < def->nnets ; i++) {
|
for (i = 0 ; i < def->nnets ; i++) {
|
||||||
int thisidx;
|
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) {
|
if ((thisidx = qemuDomainDeviceAliasIndex(&def->nets[i]->info, "net")) < 0) {
|
||||||
qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
qemuReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||||
_("Unable to determine device index for network device"));
|
_("Unable to determine device index for network device"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user