]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: move qemuDomainRemoveNetDevice to avoid forward reference
authorLaine Stump <laine@laine.org>
Fri, 18 Oct 2013 09:28:40 +0000 (12:28 +0300)
committerLaine Stump <laine@laine.org>
Mon, 21 Oct 2013 15:07:49 +0000 (18:07 +0300)
pure code movement to setup for next patch.

src/qemu/qemu_hotplug.c

index a6a15915c378caccb6f2521dba887c7bf80fe839..ddc80a1fac6b2cfa9cc3b5de4043f9cff2502586 100644 (file)
@@ -2453,67 +2453,6 @@ qemuDomainRemoveControllerDevice(virQEMUDriverPtr driver,
 }
 
 
-static void
-qemuDomainRemoveNetDevice(virQEMUDriverPtr driver,
-                          virDomainObjPtr vm,
-                          virDomainNetDefPtr net)
-{
-    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
-    virNetDevVPortProfilePtr vport;
-    virDomainEventPtr event;
-    size_t i;
-
-    VIR_DEBUG("Removing network interface %s from domain %p %s",
-              net->info.alias, vm, vm->def->name);
-
-    virDomainAuditNet(vm, net, NULL, "detach", true);
-
-    event = virDomainEventDeviceRemovedNewFromObj(vm, net->info.alias);
-    if (event)
-        qemuDomainEventQueue(driver, event);
-
-    for (i = 0; i < vm->def->nnets; i++) {
-        if (vm->def->nets[i] == net) {
-            virDomainNetRemove(vm->def, i);
-            break;
-        }
-    }
-
-    qemuDomainReleaseDeviceAddress(vm, &net->info, NULL);
-    virDomainConfNWFilterTeardown(net);
-
-    if (virDomainNetGetActualType(net) == VIR_DOMAIN_NET_TYPE_DIRECT) {
-        ignore_value(virNetDevMacVLanDeleteWithVPortProfile(
-                         net->ifname, &net->mac,
-                         virDomainNetGetActualDirectDev(net),
-                         virDomainNetGetActualDirectMode(net),
-                         virDomainNetGetActualVirtPortProfile(net),
-                         cfg->stateDir));
-        VIR_FREE(net->ifname);
-    }
-
-    if (cfg->macFilter && (net->ifname != NULL)) {
-        if ((errno = networkDisallowMacOnPort(driver,
-                                              net->ifname,
-                                              &net->mac))) {
-            virReportSystemError(errno,
-             _("failed to remove ebtables rule on '%s'"),
-                                 net->ifname);
-        }
-    }
-
-    vport = virDomainNetGetActualVirtPortProfile(net);
-    if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)
-        ignore_value(virNetDevOpenvswitchRemovePort(
-                        virDomainNetGetActualBridgeName(net),
-                        net->ifname));
-
-    networkReleaseActualDevice(net);
-    virDomainNetDefFree(net);
-    virObjectUnref(cfg);
-}
-
-
 static void
 qemuDomainRemovePCIHostDevice(virQEMUDriverPtr driver,
                               virDomainObjPtr vm,
@@ -2644,6 +2583,67 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver,
 }
 
 
+static void
+qemuDomainRemoveNetDevice(virQEMUDriverPtr driver,
+                          virDomainObjPtr vm,
+                          virDomainNetDefPtr net)
+{
+    virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
+    virNetDevVPortProfilePtr vport;
+    virDomainEventPtr event;
+    size_t i;
+
+    VIR_DEBUG("Removing network interface %s from domain %p %s",
+              net->info.alias, vm, vm->def->name);
+
+    virDomainAuditNet(vm, net, NULL, "detach", true);
+
+    event = virDomainEventDeviceRemovedNewFromObj(vm, net->info.alias);
+    if (event)
+        qemuDomainEventQueue(driver, event);
+
+    for (i = 0; i < vm->def->nnets; i++) {
+        if (vm->def->nets[i] == net) {
+            virDomainNetRemove(vm->def, i);
+            break;
+        }
+    }
+
+    qemuDomainReleaseDeviceAddress(vm, &net->info, NULL);
+    virDomainConfNWFilterTeardown(net);
+
+    if (virDomainNetGetActualType(net) == VIR_DOMAIN_NET_TYPE_DIRECT) {
+        ignore_value(virNetDevMacVLanDeleteWithVPortProfile(
+                         net->ifname, &net->mac,
+                         virDomainNetGetActualDirectDev(net),
+                         virDomainNetGetActualDirectMode(net),
+                         virDomainNetGetActualVirtPortProfile(net),
+                         cfg->stateDir));
+        VIR_FREE(net->ifname);
+    }
+
+    if (cfg->macFilter && (net->ifname != NULL)) {
+        if ((errno = networkDisallowMacOnPort(driver,
+                                              net->ifname,
+                                              &net->mac))) {
+            virReportSystemError(errno,
+             _("failed to remove ebtables rule on '%s'"),
+                                 net->ifname);
+        }
+    }
+
+    vport = virDomainNetGetActualVirtPortProfile(net);
+    if (vport && vport->virtPortType == VIR_NETDEV_VPORT_PROFILE_OPENVSWITCH)
+        ignore_value(virNetDevOpenvswitchRemovePort(
+                        virDomainNetGetActualBridgeName(net),
+                        net->ifname));
+
+    networkReleaseActualDevice(net);
+    virDomainNetDefFree(net);
+    virObjectUnref(cfg);
+}
+
+
 static void
 qemuDomainRemoveChrDevice(virQEMUDriverPtr driver,
                           virDomainObjPtr vm,