[libvirt] [PATCH 11/11] Delete udevFreeIfaceDef function in udev interface driver

Daniel P. Berrange berrange at redhat.com
Thu May 2 12:03:49 UTC 2013


From: "Daniel P. Berrange" <berrange at redhat.com>

The udevFreeIfaceDef function in the udev interface driver
just duplicates code from virInterfaceDefFree. Delete it
and call the standard API instead.

Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
 src/interface/interface_backend_udev.c | 45 ++--------------------------------
 1 file changed, 2 insertions(+), 43 deletions(-)

diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c
index 79c57ee..0384ef5 100644
--- a/src/interface/interface_backend_udev.c
+++ b/src/interface/interface_backend_udev.c
@@ -542,44 +542,6 @@ udevBridgeScanDirFilter(const struct dirent *entry)
     return 1;
 }
 
-/**
- * Frees any memory allocated by udevGetIfaceDef()
- *
- * @param ifacedef - interface to free and cleanup
- */
-static void
-udevFreeIfaceDef(virInterfaceDef *ifacedef)
-{
-    int i;
-
-    if (!ifacedef)
-        return;
-
-    if (ifacedef->type == VIR_INTERFACE_TYPE_BOND) {
-        VIR_FREE(ifacedef->data.bond.target);
-        for (i = 0; i < ifacedef->data.bond.nbItf; i++) {
-            udevFreeIfaceDef(ifacedef->data.bond.itf[i]);
-        }
-        VIR_FREE(ifacedef->data.bond.itf);
-    }
-
-    if (ifacedef->type == VIR_INTERFACE_TYPE_BRIDGE) {
-        VIR_FREE(ifacedef->data.bridge.delay);
-        for (i = 0; i < ifacedef->data.bridge.nbItf; i++) {
-            udevFreeIfaceDef(ifacedef->data.bridge.itf[i]);
-        }
-        VIR_FREE(ifacedef->data.bridge.itf);
-    }
-
-    if (ifacedef->type == VIR_INTERFACE_TYPE_VLAN) {
-        VIR_FREE(ifacedef->data.vlan.devname);
-    }
-
-    VIR_FREE(ifacedef->mac);
-    VIR_FREE(ifacedef->name);
-
-    VIR_FREE(ifacedef);
-}
 
 static int
 ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
@@ -1080,7 +1042,7 @@ udevGetIfaceDef(struct udev *udev, const char *name)
 cleanup:
     udev_device_unref(dev);
 
-    udevFreeIfaceDef(ifacedef);
+    virInterfaceDefFree(ifacedef);
 
     return NULL;
 }
@@ -1101,15 +1063,12 @@ udevInterfaceGetXMLDesc(virInterfacePtr ifinfo,
      */
     ifacedef = udevGetIfaceDef(udev, ifinfo->name);
 
-    /* We've already printed by it happened */
     if (!ifacedef)
         goto err;
 
-    /* Convert our interface to XML */
     xmlstr = virInterfaceDefFormat(ifacedef);
 
-    /* Recursively free our interface structures and free the children too */
-    udevFreeIfaceDef(ifacedef);
+    virInterfaceDefFree(ifacedef);
 
 err:
     /* decrement our udev ptr */
-- 
1.8.1.4




More information about the libvir-list mailing list