[libvirt] [PATCH 0/2] Remove calls that just clear alias

Based off review of : http://www.redhat.com/archives/libvir-list/2016-July/msg00672.html Rather than add the ignore_value, just remove the unused / unnecessary code Patch 1 has no callers any more and from inspection patch 2 is essentially redone again as each device is handled during domain def deletion. Ran make -C tests valgrind with no errors too John Ferlan (2): conf: Remove CCW,PCI clear address helpers Remove unnecessary virDomainDefClearDeviceAliases src/conf/domain_conf.c | 50 ------------------------------------------------ src/conf/domain_conf.h | 3 --- src/libvirt_private.syms | 3 --- src/qemu/qemu_process.c | 2 -- 4 files changed, 58 deletions(-) -- 2.5.5

Since commit id 'fb06350' these are no longer called, so remove them Signed-off-by: John Ferlan <jferlan@redhat.com> --- src/conf/domain_conf.c | 35 ----------------------------------- src/conf/domain_conf.h | 2 -- src/libvirt_private.syms | 2 -- 3 files changed, 39 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6dfcf81..132044f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -3361,31 +3361,6 @@ static int virDomainDeviceInfoClearAlias(virDomainDefPtr def ATTRIBUTE_UNUSED, return 0; } -static int virDomainDeviceInfoClearPCIAddress(virDomainDefPtr def ATTRIBUTE_UNUSED, - virDomainDeviceDefPtr device ATTRIBUTE_UNUSED, - virDomainDeviceInfoPtr info, - void *opaque ATTRIBUTE_UNUSED) -{ - if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) { - memset(&info->addr, 0, sizeof(info->addr)); - info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE; - } - return 0; -} - -static int -virDomainDeviceInfoClearCCWAddress(virDomainDefPtr def ATTRIBUTE_UNUSED, - virDomainDeviceDefPtr device ATTRIBUTE_UNUSED, - virDomainDeviceInfoPtr info, - void *opaque ATTRIBUTE_UNUSED) -{ - if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { - memset(&info->addr, 0, sizeof(info->addr)); - info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE; - } - return 0; -} - static int virDomainDeviceInfoIterateInternal(virDomainDefPtr def, virDomainDeviceInfoCallback cb, @@ -4754,16 +4729,6 @@ virDomainDefValidate(virDomainDefPtr def, } -void virDomainDefClearPCIAddresses(virDomainDefPtr def) -{ - virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearPCIAddress, NULL); -} - -void virDomainDefClearCCWAddresses(virDomainDefPtr def) -{ - virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearCCWAddress, NULL); -} - void virDomainDefClearDeviceAliases(virDomainDefPtr def) { virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearAlias, NULL); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 00041c9..ac32468 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2534,8 +2534,6 @@ virDomainDeviceInfoPtr virDomainDeviceGetInfo(virDomainDeviceDefPtr device); int virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst, virDomainDeviceInfoPtr src); void virDomainDeviceInfoClear(virDomainDeviceInfoPtr info); -void virDomainDefClearPCIAddresses(virDomainDefPtr def); -void virDomainDefClearCCWAddresses(virDomainDefPtr def); void virDomainDefClearDeviceAliases(virDomainDefPtr def); void virDomainTPMDefFree(virDomainTPMDefPtr def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index cd3cc64..e15309a 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -209,9 +209,7 @@ virDomainDefAddController; virDomainDefAddImplicitDevices; virDomainDefAddUSBController; virDomainDefCheckABIStability; -virDomainDefClearCCWAddresses; virDomainDefClearDeviceAliases; -virDomainDefClearPCIAddresses; virDomainDefCompatibleDevice; virDomainDefCopy; virDomainDefFindDevice; -- 2.5.5

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@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

On Wed, Jul 20, 2016 at 06:56:47AM -0400, John Ferlan wrote:
Based off review of :
http://www.redhat.com/archives/libvir-list/2016-July/msg00672.html
Rather than add the ignore_value, just remove the unused / unnecessary code Patch 1 has no callers any more and from inspection patch 2 is essentially redone again as each device is handled during domain def deletion.
Ran make -C tests valgrind with no errors too
John Ferlan (2): conf: Remove CCW,PCI clear address helpers Remove unnecessary virDomainDefClearDeviceAliases
src/conf/domain_conf.c | 50 ------------------------------------------------ src/conf/domain_conf.h | 3 --- src/libvirt_private.syms | 3 --- src/qemu/qemu_process.c | 2 -- 4 files changed, 58 deletions(-)
ACK series Jan
participants (2)
-
John Ferlan
-
Ján Tomko