From fc0378a973869d08ac2a40644cbe2225da12eff6 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 19 Jul 2016 08:11:01 -0400 Subject: [PATCH] Remove unnecessary virDomainDefClearDeviceAliases 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. --- 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 132044f8a2..13e5dc9792 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 ac32468e06..3c2f18231f 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 6693eed4d2..cbc408f784 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -219,7 +219,6 @@ virDomainDefAddController; virDomainDefAddImplicitDevices; virDomainDefAddUSBController; virDomainDefCheckABIStability; -virDomainDefClearDeviceAliases; virDomainDefCompatibleDevice; virDomainDefCopy; virDomainDefFindDevice; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c7639c1bb8..8e1b8961b6 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5687,8 +5687,6 @@ void qemuProcessStop(virQEMUDriverPtr driver, virStringFreeList(priv->qemuDevices); priv->qemuDevices = NULL; - virDomainDefClearDeviceAliases(vm->def); - qemuHostdevReAttachDomainDevices(driver, vm->def); def = vm->def;