From a507edef33c41c044dff83be6f6ddf873733730d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 25 Jan 2019 11:11:21 +0000 Subject: [PATCH] qemu: pass virDomainDeviceInfo by reference MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The virDomainDeviceInfo parameter is a large struct so it is preferrable to pass it by reference instead of by value. Reviewed-by: John Ferlan Signed-off-by: Daniel P. Berrangé --- src/qemu/qemu_command.c | 4 ++-- src/qemu/qemu_domain.c | 10 +++++----- src/qemu/qemu_domain.h | 9 +++++---- src/qemu/qemu_domain_address.c | 2 +- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 3e46f3ced3..a59583fb75 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1894,7 +1894,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, if (qemuCheckDiskConfig(disk, qemuCaps) < 0) goto error; - if (!qemuDomainCheckCCWS390AddressSupport(def, disk->info, qemuCaps, disk->dst)) + if (!qemuDomainCheckCCWS390AddressSupport(def, &disk->info, qemuCaps, disk->dst)) goto error; if (disk->iothread && !qemuCheckIOThreads(def, disk)) @@ -5961,7 +5961,7 @@ qemuBuildRNGDevStr(const virDomainDef *def, { virBuffer buf = VIR_BUFFER_INITIALIZER; - if (!qemuDomainCheckCCWS390AddressSupport(def, dev->info, qemuCaps, + if (!qemuDomainCheckCCWS390AddressSupport(def, &dev->info, qemuCaps, dev->source.file)) goto error; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d6bf8b4b6e..5bfe4fe14e 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5807,7 +5807,7 @@ qemuDomainDeviceDefValidateController(const virDomainControllerDef *controller, { int ret = 0; - if (!qemuDomainCheckCCWS390AddressSupport(def, controller->info, qemuCaps, + if (!qemuDomainCheckCCWS390AddressSupport(def, &controller->info, qemuCaps, "controller")) return -1; @@ -5861,7 +5861,7 @@ qemuDomainDeviceDefValidateVsock(const virDomainVsockDef *vsock, return -1; } - if (!qemuDomainCheckCCWS390AddressSupport(def, vsock->info, qemuCaps, + if (!qemuDomainCheckCCWS390AddressSupport(def, &vsock->info, qemuCaps, "vsock")) return -1; @@ -13489,11 +13489,11 @@ qemuDomainGetMachineName(virDomainObjPtr vm) */ bool qemuDomainCheckCCWS390AddressSupport(const virDomainDef *def, - virDomainDeviceInfo info, + const virDomainDeviceInfo *info, virQEMUCapsPtr qemuCaps, const char *devicename) { - if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { + if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { if (!qemuDomainIsS390CCW(def)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("cannot use CCW address type for device " @@ -13506,7 +13506,7 @@ qemuDomainCheckCCWS390AddressSupport(const virDomainDef *def, "this QEMU")); return false; } - } else if (info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) { + } else if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_S390)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("virtio S390 address type is not supported by " diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index e7c5a0a49c..0e5b8e8b2f 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -1065,10 +1065,11 @@ int qemuDomainObjPrivateXMLParseAllowReboot(xmlXPathContextPtr ctxt, virTristateBool *allowReboot); -bool qemuDomainCheckCCWS390AddressSupport(const virDomainDef *def, - virDomainDeviceInfo info, - virQEMUCapsPtr qemuCaps, - const char *devicename); +bool +qemuDomainCheckCCWS390AddressSupport(const virDomainDef *def, + const virDomainDeviceInfo *info, + virQEMUCapsPtr qemuCaps, + const char *devicename); int qemuDomainPrepareDiskSourceData(virDomainDiskDefPtr disk, diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index d50744a952..c376f3f897 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -3226,7 +3226,7 @@ qemuDomainEnsureVirtioAddress(bool *releaseAddr, else if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_VIRTIO_S390)) info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390; } else { - if (!qemuDomainCheckCCWS390AddressSupport(vm->def, *info, priv->qemuCaps, + if (!qemuDomainCheckCCWS390AddressSupport(vm->def, info, priv->qemuCaps, devicename)) return -1; } -- GitLab