[libvirt] [PATCH 2/2] Remove unnecessary virDomainDefClearDeviceAliases

John Ferlan jferlan at redhat.com
Wed Jul 20 10:56:49 UTC 2016


Nothing in the code path after the removed call has needs/uses the alias
anyway (as would be the case for command line building or talking to monitor).
The alias is VIR_FREE'd in virDomainDeviceInfoClear which is called for any
device that needs/uses an alias via virDomainDeviceDefFree or virDomainDefFree
as well as during virDomainDeviceInfoFree for host devices.

For persistent domains, the domain definition (including aliases) gets
freed a few screens later when it's replaced with newDef.

For transient domains, the definition is freed/unref'd along with the
virDomainObj a few moments later.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/conf/domain_conf.c   | 15 ---------------
 src/conf/domain_conf.h   |  1 -
 src/libvirt_private.syms |  1 -
 src/qemu/qemu_process.c  |  2 --
 4 files changed, 19 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 132044f..13e5dc9 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -3352,15 +3352,6 @@ void virDomainDeviceInfoClear(virDomainDeviceInfoPtr info)
 }
 
 
-static int virDomainDeviceInfoClearAlias(virDomainDefPtr def ATTRIBUTE_UNUSED,
-                                         virDomainDeviceDefPtr device ATTRIBUTE_UNUSED,
-                                         virDomainDeviceInfoPtr info,
-                                         void *opaque ATTRIBUTE_UNUSED)
-{
-    VIR_FREE(info->alias);
-    return 0;
-}
-
 static int
 virDomainDeviceInfoIterateInternal(virDomainDefPtr def,
                                    virDomainDeviceInfoCallback cb,
@@ -4729,12 +4720,6 @@ virDomainDefValidate(virDomainDefPtr def,
 }
 
 
-void virDomainDefClearDeviceAliases(virDomainDefPtr def)
-{
-    virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearAlias, NULL);
-}
-
-
 /* Generate a string representation of a device address
  * @info address Device address to stringify
  */
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ac32468..3c2f182 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2534,7 +2534,6 @@ virDomainDeviceInfoPtr virDomainDeviceGetInfo(virDomainDeviceDefPtr device);
 int virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst,
                             virDomainDeviceInfoPtr src);
 void virDomainDeviceInfoClear(virDomainDeviceInfoPtr info);
-void virDomainDefClearDeviceAliases(virDomainDefPtr def);
 void virDomainTPMDefFree(virDomainTPMDefPtr def);
 
 typedef int (*virDomainDeviceInfoCallback)(virDomainDefPtr def,
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index e15309a..b8330d0 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -209,7 +209,6 @@ virDomainDefAddController;
 virDomainDefAddImplicitDevices;
 virDomainDefAddUSBController;
 virDomainDefCheckABIStability;
-virDomainDefClearDeviceAliases;
 virDomainDefCompatibleDevice;
 virDomainDefCopy;
 virDomainDefFindDevice;
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 4adb14e..76be3de 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5689,8 +5689,6 @@ void qemuProcessStop(virQEMUDriverPtr driver,
     virStringFreeList(priv->qemuDevices);
     priv->qemuDevices = NULL;
 
-    virDomainDefClearDeviceAliases(vm->def);
-
     qemuHostdevReAttachDomainDevices(driver, vm->def);
 
     def = vm->def;
-- 
2.5.5




More information about the libvir-list mailing list