[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] qemu: fix cleanup of bridge during failure of qemuDomainAttachNetDevice



From: Laine Stump <laine redhat com>

In qemuDomainAttachNetDevice, the guest's tap interface has only been
attached to the bridge if iface_connected is true. It's possible for
an error to occur prior to that happening, and previously we would
attempt to remove the tap interface from the bridge even if it hadn't
been attached.
---
 src/qemu/qemu_hotplug.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index e90ea6c..375b822 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -837,13 +837,14 @@ cleanup:
                                             net->info.addr.pci.slot) < 0)
             VIR_WARN("Unable to release PCI address on NIC");
 
-        if (iface_connected)
+        if (iface_connected) {
             virDomainConfNWFilterTeardown(net);
 
-        vport = virDomainNetGetActualVirtPortProfile(net);
-        if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)
-            ignore_value(virNetDevOpenvswitchRemovePort(
-                            virDomainNetGetActualBridgeName(net), net->ifname));
+            vport = virDomainNetGetActualVirtPortProfile(net);
+            if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)
+               ignore_value(virNetDevOpenvswitchRemovePort(
+                               virDomainNetGetActualBridgeName(net), net->ifname));
+        }
 
         networkReleaseActualDevice(net);
     }
-- 
1.7.7.6


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]