qemu: remove unneeded labels

Remove unneeded, easy to remove goto labels (cleanup|error|done|...).

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Daniel Henrique Barboza 2020-01-06 18:57:40 -03:00 committed by Erik Skultety
parent 049ddf57da
commit 21ad56e932
9 changed files with 102 additions and 148 deletions

View File

@ -781,23 +781,22 @@ virQEMUCapsFindBinaryForArch(virArch hostarch,
if (hostarch == VIR_ARCH_AARCH64 && guestarch == VIR_ARCH_ARMV7L) { if (hostarch == VIR_ARCH_AARCH64 && guestarch == VIR_ARCH_ARMV7L) {
archstr = virQEMUCapsArchToString(hostarch); archstr = virQEMUCapsArchToString(hostarch);
if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL) if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL)
goto out; return ret;
} }
/* First attempt: try the guest architecture as it is */ /* First attempt: try the guest architecture as it is */
archstr = virQEMUCapsArchToString(guestarch); archstr = virQEMUCapsArchToString(guestarch);
if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL) if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL)
goto out; return ret;
/* Second attempt: try looking up by target instead */ /* Second attempt: try looking up by target instead */
target = virQEMUCapsFindTarget(hostarch, guestarch); target = virQEMUCapsFindTarget(hostarch, guestarch);
if (target != guestarch) { if (target != guestarch) {
archstr = virQEMUCapsArchToString(target); archstr = virQEMUCapsArchToString(target);
if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL) if ((ret = virQEMUCapsFindBinary("qemu-system-%s", archstr)) != NULL)
goto out; return ret;
} }
out:
return ret; return ret;
} }
@ -5013,13 +5012,11 @@ virQEMUCapsNewForBinaryInternal(virArch hostArch,
qemuCaps->kvmSupportsNesting = virQEMUCapsKVMSupportsNesting(); qemuCaps->kvmSupportsNesting = virQEMUCapsKVMSupportsNesting();
} }
cleanup:
return qemuCaps; return qemuCaps;
error: error:
virObjectUnref(qemuCaps); virObjectUnref(qemuCaps);
qemuCaps = NULL; return NULL;
goto cleanup;
} }
static void * static void *
@ -5052,13 +5049,11 @@ virQEMUCapsLoadFile(const char *filename,
if (virQEMUCapsLoadCache(priv->hostArch, qemuCaps, filename) < 0) if (virQEMUCapsLoadCache(priv->hostArch, qemuCaps, filename) < 0)
goto error; goto error;
cleanup:
return qemuCaps; return qemuCaps;
error: error:
virObjectUnref(qemuCaps); virObjectUnref(qemuCaps);
qemuCaps = NULL; return NULL;
goto cleanup;
} }

View File

@ -1776,12 +1776,12 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
disk->detect_zeroes); disk->detect_zeroes);
if (qemuBuildDriveSourceStr(disk, qemuCaps, &opt) < 0) if (qemuBuildDriveSourceStr(disk, qemuCaps, &opt) < 0)
goto error; return NULL;
if (!qemuDiskBusNeedsDriveArg(disk->bus)) { if (!qemuDiskBusNeedsDriveArg(disk->bus)) {
g_autofree char *drivealias = qemuAliasDiskDriveFromDisk(disk); g_autofree char *drivealias = qemuAliasDiskDriveFromDisk(disk);
if (!drivealias) if (!drivealias)
goto error; return NULL;
virBufferAddLit(&opt, "if=none"); virBufferAddLit(&opt, "if=none");
virBufferAsprintf(&opt, ",id=%s", drivealias); virBufferAsprintf(&opt, ",id=%s", drivealias);
@ -1791,12 +1791,12 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
if (idx < 0) { if (idx < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported disk type '%s'"), disk->dst); _("unsupported disk type '%s'"), disk->dst);
goto error; return NULL;
} }
/* if we are using -device this will be checked elsewhere */ /* if we are using -device this will be checked elsewhere */
if (qemuCheckDiskConfig(disk, qemuCaps) < 0) if (qemuCheckDiskConfig(disk, qemuCaps) < 0)
goto error; return NULL;
virBufferAsprintf(&opt, "if=%s", virBufferAsprintf(&opt, "if=%s",
virDomainDiskQEMUBusTypeToString(disk->bus)); virDomainDiskQEMUBusTypeToString(disk->bus));
@ -1849,9 +1849,6 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
qemuBuildDiskThrottling(disk, &opt); qemuBuildDiskThrottling(disk, &opt);
return virBufferContentAndReset(&opt); return virBufferContentAndReset(&opt);
error:
return NULL;
} }
@ -1941,20 +1938,20 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
int controllerModel; int controllerModel;
if (qemuCheckDiskConfig(disk, qemuCaps) < 0) if (qemuCheckDiskConfig(disk, qemuCaps) < 0)
goto error; return NULL;
if (!qemuDomainCheckCCWS390AddressSupport(def, &disk->info, qemuCaps, disk->dst)) if (!qemuDomainCheckCCWS390AddressSupport(def, &disk->info, qemuCaps, disk->dst))
goto error; return NULL;
if (disk->iothread && !qemuCheckIOThreads(def, disk)) if (disk->iothread && !qemuCheckIOThreads(def, disk))
goto error; return NULL;
switch ((virDomainDiskBus) disk->bus) { switch ((virDomainDiskBus) disk->bus) {
case VIR_DOMAIN_DISK_BUS_IDE: case VIR_DOMAIN_DISK_BUS_IDE:
if (disk->info.addr.drive.target != 0) { if (disk->info.addr.drive.target != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("target must be 0 for ide controller")); _("target must be 0 for ide controller"));
goto error; return NULL;
} }
if (disk->wwn && if (disk->wwn &&
@ -1962,7 +1959,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Setting wwn for ide disk is not supported " _("Setting wwn for ide disk is not supported "
"by this QEMU")); "by this QEMU"));
goto error; return NULL;
} }
if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)
@ -1979,7 +1976,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
if (!(contAlias = virDomainControllerAliasFind(def, if (!(contAlias = virDomainControllerAliasFind(def,
VIR_DOMAIN_CONTROLLER_TYPE_IDE, VIR_DOMAIN_CONTROLLER_TYPE_IDE,
disk->info.addr.drive.controller))) disk->info.addr.drive.controller)))
goto error; return NULL;
} }
virBufferAsprintf(&opt, ",bus=%s.%d,unit=%d", virBufferAsprintf(&opt, ",bus=%s.%d,unit=%d",
contAlias, contAlias,
@ -1993,7 +1990,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("This QEMU doesn't support scsi-block for " _("This QEMU doesn't support scsi-block for "
"lun passthrough")); "lun passthrough"));
goto error; return NULL;
} }
} }
@ -2002,7 +1999,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Setting wwn for scsi disk is not supported " _("Setting wwn for scsi disk is not supported "
"by this QEMU")); "by this QEMU"));
goto error; return NULL;
} }
/* Properties wwn, vendor and product were introduced in the /* Properties wwn, vendor and product were introduced in the
@ -2013,12 +2010,12 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Setting vendor or product for scsi disk is not " _("Setting vendor or product for scsi disk is not "
"supported by this QEMU")); "supported by this QEMU"));
goto error; return NULL;
} }
controllerModel = qemuDomainFindSCSIControllerModel(def, &disk->info); controllerModel = qemuDomainFindSCSIControllerModel(def, &disk->info);
if (controllerModel < 0) if (controllerModel < 0)
goto error; return NULL;
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) { if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) {
virBufferAddLit(&opt, "scsi-block"); virBufferAddLit(&opt, "scsi-block");
@ -2038,21 +2035,21 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
scsiVPDDeviceId = g_strdup(disk->serial); scsiVPDDeviceId = g_strdup(disk->serial);
} else { } else {
if (!(scsiVPDDeviceId = qemuAliasDiskDriveFromDisk(disk))) if (!(scsiVPDDeviceId = qemuAliasDiskDriveFromDisk(disk)))
goto error; return NULL;
} }
} }
} }
if (!(contAlias = virDomainControllerAliasFind(def, VIR_DOMAIN_CONTROLLER_TYPE_SCSI, if (!(contAlias = virDomainControllerAliasFind(def, VIR_DOMAIN_CONTROLLER_TYPE_SCSI,
disk->info.addr.drive.controller))) disk->info.addr.drive.controller)))
goto error; return NULL;
if (controllerModel == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC) { if (controllerModel == VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC) {
if (disk->info.addr.drive.target != 0) { if (disk->info.addr.drive.target != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("target must be 0 for controller " _("target must be 0 for controller "
"model 'lsilogic'")); "model 'lsilogic'"));
goto error; return NULL;
} }
virBufferAsprintf(&opt, ",bus=%s.%d,scsi-id=%d", virBufferAsprintf(&opt, ",bus=%s.%d,scsi-id=%d",
@ -2065,7 +2062,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("This QEMU doesn't support target " _("This QEMU doesn't support target "
"greater than 7")); "greater than 7"));
goto error; return NULL;
} }
if (disk->info.addr.drive.bus != 0 && if (disk->info.addr.drive.bus != 0 &&
@ -2073,7 +2070,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("This QEMU only supports both bus and " _("This QEMU only supports both bus and "
"unit equal to 0")); "unit equal to 0"));
goto error; return NULL;
} }
} }
@ -2093,12 +2090,12 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
if (disk->info.addr.drive.bus != 0) { if (disk->info.addr.drive.bus != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("bus must be 0 for ide controller")); _("bus must be 0 for ide controller"));
goto error; return NULL;
} }
if (disk->info.addr.drive.target != 0) { if (disk->info.addr.drive.target != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("target must be 0 for ide controller")); _("target must be 0 for ide controller"));
goto error; return NULL;
} }
if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)
@ -2116,7 +2113,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
if (!(contAlias = virDomainControllerAliasFind(def, if (!(contAlias = virDomainControllerAliasFind(def,
VIR_DOMAIN_CONTROLLER_TYPE_SATA, VIR_DOMAIN_CONTROLLER_TYPE_SATA,
disk->info.addr.drive.controller))) disk->info.addr.drive.controller)))
goto error; return NULL;
} }
virBufferAsprintf(&opt, ",bus=%s.%d", virBufferAsprintf(&opt, ",bus=%s.%d",
contAlias, contAlias,
@ -2126,7 +2123,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
case VIR_DOMAIN_DISK_BUS_VIRTIO: case VIR_DOMAIN_DISK_BUS_VIRTIO:
if (qemuBuildVirtioDevStr(&opt, "virtio-blk", qemuCaps, if (qemuBuildVirtioDevStr(&opt, "virtio-blk", qemuCaps,
VIR_DOMAIN_DEVICE_DISK, disk) < 0) { VIR_DOMAIN_DEVICE_DISK, disk) < 0) {
goto error; return NULL;
} }
if (disk->iothread) if (disk->iothread)
@ -2152,17 +2149,17 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("num-queues property isn't supported by this " _("num-queues property isn't supported by this "
"QEMU binary")); "QEMU binary"));
goto error; return NULL;
} }
virBufferAsprintf(&opt, ",num-queues=%u", disk->queues); virBufferAsprintf(&opt, ",num-queues=%u", disk->queues);
} }
if (qemuBuildVirtioOptionsStr(&opt, disk->virtio, qemuCaps) < 0) if (qemuBuildVirtioOptionsStr(&opt, disk->virtio, qemuCaps) < 0)
goto error; return NULL;
if (qemuBuildDeviceAddressStr(&opt, def, &disk->info, qemuCaps) < 0) if (qemuBuildDeviceAddressStr(&opt, def, &disk->info, qemuCaps) < 0)
goto error; return NULL;
break; break;
case VIR_DOMAIN_DISK_BUS_USB: case VIR_DOMAIN_DISK_BUS_USB:
@ -2170,19 +2167,19 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
disk->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB) { disk->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("unexpected address type for usb disk")); _("unexpected address type for usb disk"));
goto error; return NULL;
} }
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("This QEMU doesn't support '-device " _("This QEMU doesn't support '-device "
"usb-storage'")); "usb-storage'"));
goto error; return NULL;
} }
virBufferAddLit(&opt, "usb-storage"); virBufferAddLit(&opt, "usb-storage");
if (qemuBuildDeviceAddressStr(&opt, def, &disk->info, qemuCaps) < 0) if (qemuBuildDeviceAddressStr(&opt, def, &disk->info, qemuCaps) < 0)
goto error; return NULL;
break; break;
case VIR_DOMAIN_DISK_BUS_FDC: case VIR_DOMAIN_DISK_BUS_FDC:
@ -2196,7 +2193,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
default: default:
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported disk bus '%s' with device setup"), bus); _("unsupported disk bus '%s' with device setup"), bus);
goto error; return NULL;
} }
if (disk->src->shared && if (disk->src->shared &&
@ -2204,7 +2201,7 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virBufferAddLit(&opt, ",share-rw=on"); virBufferAddLit(&opt, ",share-rw=on");
if (qemuDomainDiskGetBackendAlias(disk, qemuCaps, &backendAlias) < 0) if (qemuDomainDiskGetBackendAlias(disk, qemuCaps, &backendAlias) < 0)
goto error; return NULL;
if (backendAlias) if (backendAlias)
virBufferAsprintf(&opt, ",drive=%s", backendAlias); virBufferAsprintf(&opt, ",drive=%s", backendAlias);
@ -2249,13 +2246,13 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("This QEMU doesn't support setting the " _("This QEMU doesn't support setting the "
"removable flag of USB storage devices")); "removable flag of USB storage devices"));
goto error; return NULL;
} }
} }
} }
if (qemuBuildDriveDevCacheStr(disk, &opt, qemuCaps) < 0) if (qemuBuildDriveDevCacheStr(disk, &opt, qemuCaps) < 0)
goto error; return NULL;
qemuBuildDiskFrontendAttributes(disk, &opt); qemuBuildDiskFrontendAttributes(disk, &opt);
@ -2263,9 +2260,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def,
qemuBuildDiskFrontendAttributeErrorPolicy(disk, &opt); qemuBuildDiskFrontendAttributeErrorPolicy(disk, &opt);
return virBufferContentAndReset(&opt); return virBufferContentAndReset(&opt);
error:
return NULL;
} }
char * char *
@ -3693,7 +3687,7 @@ qemuBuildNicDevStr(virDomainDefPtr def,
if (virDomainNetIsVirtioModel(net)) { if (virDomainNetIsVirtioModel(net)) {
if (qemuBuildVirtioDevStr(&buf, "virtio-net", qemuCaps, if (qemuBuildVirtioDevStr(&buf, "virtio-net", qemuCaps,
VIR_DOMAIN_DEVICE_NET, net) < 0) { VIR_DOMAIN_DEVICE_NET, net) < 0) {
goto error; return NULL;
} }
usingVirtio = true; usingVirtio = true;
@ -3723,12 +3717,12 @@ qemuBuildNicDevStr(virDomainDefPtr def,
*/ */
virReportEnumRangeError(virDomainNetVirtioTxModeType, virReportEnumRangeError(virDomainNetVirtioTxModeType,
net->driver.virtio.txmode); net->driver.virtio.txmode);
goto error; return NULL;
} }
} else { } else {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("virtio-net-pci 'tx' option not supported in this QEMU binary")); _("virtio-net-pci 'tx' option not supported in this QEMU binary"));
goto error; return NULL;
} }
} }
if (usingVirtio) { if (usingVirtio) {
@ -3804,7 +3798,7 @@ qemuBuildNicDevStr(virDomainDefPtr def,
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("virtio rx_queue_size option is not supported with this QEMU binary")); _("virtio rx_queue_size option is not supported with this QEMU binary"));
goto error; return NULL;
} }
virBufferAsprintf(&buf, ",rx_queue_size=%u", net->driver.virtio.rx_queue_size); virBufferAsprintf(&buf, ",rx_queue_size=%u", net->driver.virtio.rx_queue_size);
} }
@ -3812,7 +3806,7 @@ qemuBuildNicDevStr(virDomainDefPtr def,
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("virtio tx_queue_size option is not supported with this QEMU binary")); _("virtio tx_queue_size option is not supported with this QEMU binary"));
goto error; return NULL;
} }
virBufferAsprintf(&buf, ",tx_queue_size=%u", net->driver.virtio.tx_queue_size); virBufferAsprintf(&buf, ",tx_queue_size=%u", net->driver.virtio.tx_queue_size);
} }
@ -3821,7 +3815,7 @@ qemuBuildNicDevStr(virDomainDefPtr def,
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_HOST_MTU)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_HOST_MTU)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("setting MTU is not supported with this QEMU binary")); _("setting MTU is not supported with this QEMU binary"));
goto error; return NULL;
} }
virBufferAsprintf(&buf, ",host_mtu=%u", net->mtu); virBufferAsprintf(&buf, ",host_mtu=%u", net->mtu);
} }
@ -3832,19 +3826,16 @@ qemuBuildNicDevStr(virDomainDefPtr def,
virMacAddrFormat(&net->mac, macaddr)); virMacAddrFormat(&net->mac, macaddr));
if (qemuBuildDeviceAddressStr(&buf, def, &net->info, qemuCaps) < 0) if (qemuBuildDeviceAddressStr(&buf, def, &net->info, qemuCaps) < 0)
goto error; return NULL;
if (qemuBuildRomStr(&buf, &net->info) < 0) if (qemuBuildRomStr(&buf, &net->info) < 0)
goto error; return NULL;
if (bootindex) if (bootindex)
virBufferAsprintf(&buf, ",bootindex=%u", bootindex); virBufferAsprintf(&buf, ",bootindex=%u", bootindex);
if (usingVirtio && if (usingVirtio &&
qemuBuildVirtioOptionsStr(&buf, net->virtio, qemuCaps) < 0) qemuBuildVirtioOptionsStr(&buf, net->virtio, qemuCaps) < 0)
goto error; return NULL;
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
error:
return NULL;
} }

View File

@ -13111,7 +13111,7 @@ qemuDomainGetMemLockLimitBytes(virDomainDefPtr def,
/* prefer the hard limit */ /* prefer the hard limit */
if (virMemoryLimitIsSet(def->mem.hard_limit)) { if (virMemoryLimitIsSet(def->mem.hard_limit)) {
memKB = def->mem.hard_limit; memKB = def->mem.hard_limit;
goto done; return memKB << 10;
} }
/* If the guest wants its memory to be locked, we need to raise the memory /* If the guest wants its memory to be locked, we need to raise the memory
@ -13159,7 +13159,6 @@ qemuDomainGetMemLockLimitBytes(virDomainDefPtr def,
if (usesVFIO || forceVFIO) if (usesVFIO || forceVFIO)
memKB = virDomainDefGetMemoryTotal(def) + 1024 * 1024; memKB = virDomainDefGetMemoryTotal(def) + 1024 * 1024;
done:
return memKB << 10; return memKB << 10;
} }
@ -13186,7 +13185,6 @@ qemuDomainAdjustMaxMemLock(virDomainObjPtr vm,
bool forceVFIO) bool forceVFIO)
{ {
unsigned long long bytes = 0; unsigned long long bytes = 0;
int ret = -1;
bytes = qemuDomainGetMemLockLimitBytes(vm->def, forceVFIO); bytes = qemuDomainGetMemLockLimitBytes(vm->def, forceVFIO);
@ -13208,12 +13206,9 @@ qemuDomainAdjustMaxMemLock(virDomainObjPtr vm,
/* Trying to set the memory locking limit to zero is a no-op */ /* Trying to set the memory locking limit to zero is a no-op */
if (virProcessSetMaxMemLock(vm->pid, bytes) < 0) if (virProcessSetMaxMemLock(vm->pid, bytes) < 0)
goto out; return -1;
ret = 0; return 0;
out:
return ret;
} }

View File

@ -1257,7 +1257,7 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
/* Only PCI host devices are subject to isolation */ /* Only PCI host devices are subject to isolation */
if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS ||
hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) { hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
goto skip; return 0;
} }
hostAddr = &hostdev->source.subsys.u.pci.addr; hostAddr = &hostdev->source.subsys.u.pci.addr;
@ -1265,7 +1265,7 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
/* If a non-default isolation has already been assigned to the /* If a non-default isolation has already been assigned to the
* device, we can avoid looking up the information again */ * device, we can avoid looking up the information again */
if (info->isolationGroup > 0) if (info->isolationGroup > 0)
goto skip; return 0;
/* The isolation group depends on the IOMMU group assigned by the host */ /* The isolation group depends on the IOMMU group assigned by the host */
tmp = virPCIDeviceAddressGetIOMMUGroupNum(hostAddr); tmp = virPCIDeviceAddressGetIOMMUGroupNum(hostAddr);
@ -1275,7 +1275,7 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
"%04x:%02x:%02x.%x, device won't be isolated", "%04x:%02x:%02x.%x, device won't be isolated",
hostAddr->domain, hostAddr->bus, hostAddr->domain, hostAddr->bus,
hostAddr->slot, hostAddr->function); hostAddr->slot, hostAddr->function);
goto skip; return 0;
} }
/* The isolation group for a host device is its IOMMU group, /* The isolation group for a host device is its IOMMU group,
@ -1301,13 +1301,13 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
* require us to isolate the guest device, so we can skip them */ * require us to isolate the guest device, so we can skip them */
if (iface->type != VIR_DOMAIN_NET_TYPE_NETWORK || if (iface->type != VIR_DOMAIN_NET_TYPE_NETWORK ||
virDomainNetResolveActualType(iface) != VIR_DOMAIN_NET_TYPE_HOSTDEV) { virDomainNetResolveActualType(iface) != VIR_DOMAIN_NET_TYPE_HOSTDEV) {
goto skip; return 0;
} }
/* If a non-default isolation has already been assigned to the /* If a non-default isolation has already been assigned to the
* device, we can avoid looking up the information again */ * device, we can avoid looking up the information again */
if (info->isolationGroup > 0) if (info->isolationGroup > 0)
goto skip; return 0;
/* Obtain a synthetic isolation group for the device, since at this /* Obtain a synthetic isolation group for the device, since at this
* point in time we don't have access to the IOMMU group of the host * point in time we don't have access to the IOMMU group of the host
@ -1319,7 +1319,7 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
"configured to use hostdev-backed network '%s', " "configured to use hostdev-backed network '%s', "
"device won't be isolated", "device won't be isolated",
iface->data.network.name); iface->data.network.name);
goto skip; return 0;
} }
info->isolationGroup = tmp; info->isolationGroup = tmp;
@ -1329,7 +1329,6 @@ qemuDomainFillDeviceIsolationGroup(virDomainDefPtr def,
iface->data.network.name, info->isolationGroup); iface->data.network.name, info->isolationGroup);
} }
skip:
return 0; return 0;
} }
@ -2131,7 +2130,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &cont->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &cont->info) < 0)
goto error; return -1;
} }
} }
@ -2142,7 +2141,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
/* Only support VirtIO-9p-pci so far. If that changes, /* Only support VirtIO-9p-pci so far. If that changes,
* we might need to skip devices here */ * we might need to skip devices here */
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->fss[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->fss[i]->info) < 0)
goto error; return -1;
} }
/* Network interfaces */ /* Network interfaces */
@ -2159,7 +2158,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
} }
if (qemuDomainPCIAddressReserveNextAddr(addrs, &net->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &net->info) < 0)
goto error; return -1;
} }
/* Sound cards */ /* Sound cards */
@ -2177,7 +2176,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
} }
if (qemuDomainPCIAddressReserveNextAddr(addrs, &sound->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &sound->info) < 0)
goto error; return -1;
} }
/* Device controllers (SCSI, USB, but not IDE, FDC or CCID) */ /* Device controllers (SCSI, USB, but not IDE, FDC or CCID) */
@ -2246,7 +2245,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
if (virDomainPCIAddressReserveAddr(addrs, &addr, if (virDomainPCIAddressReserveAddr(addrs, &addr,
cont->info.pciConnectFlags, cont->info.pciConnectFlags,
cont->info.isolationGroup) < 0) { cont->info.isolationGroup) < 0) {
goto error; return -1;
} }
cont->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI; cont->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
@ -2257,14 +2256,14 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
if (virDomainPCIAddressReserveNextAddr(addrs, &cont->info, if (virDomainPCIAddressReserveNextAddr(addrs, &cont->info,
cont->info.pciConnectFlags, cont->info.pciConnectFlags,
addr.function) < 0) { addr.function) < 0) {
goto error; return -1;
} }
cont->info.addr.pci.multi = addr.multi; cont->info.addr.pci.multi = addr.multi;
} }
} else { } else {
if (qemuDomainPCIAddressReserveNextAddr(addrs, &cont->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &cont->info) < 0)
goto error; return -1;
} }
} }
@ -2292,11 +2291,11 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("virtio disk cannot have an address of type '%s'"), _("virtio disk cannot have an address of type '%s'"),
virDomainDeviceAddressTypeToString(def->disks[i]->info.type)); virDomainDeviceAddressTypeToString(def->disks[i]->info.type));
goto error; return -1;
} }
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->disks[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->disks[i]->info) < 0)
goto error; return -1;
} }
/* Host PCI devices */ /* Host PCI devices */
@ -2320,7 +2319,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
if (qemuDomainPCIAddressReserveNextAddr(addrs, if (qemuDomainPCIAddressReserveNextAddr(addrs,
def->hostdevs[i]->info) < 0) def->hostdevs[i]->info) < 0)
goto error; return -1;
} }
/* memballoon. the qemu driver only accepts virtio memballoon devices */ /* memballoon. the qemu driver only accepts virtio memballoon devices */
@ -2328,7 +2327,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
virDeviceInfoPCIAddressIsWanted(&def->memballoon->info)) { virDeviceInfoPCIAddressIsWanted(&def->memballoon->info)) {
if (qemuDomainPCIAddressReserveNextAddr(addrs, if (qemuDomainPCIAddressReserveNextAddr(addrs,
&def->memballoon->info) < 0) &def->memballoon->info) < 0)
goto error; return -1;
} }
/* the qemu driver only accepts virtio rng devices */ /* the qemu driver only accepts virtio rng devices */
@ -2337,7 +2336,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->rngs[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->rngs[i]->info) < 0)
goto error; return -1;
} }
/* A watchdog - check if it is a PCI device */ /* A watchdog - check if it is a PCI device */
@ -2345,7 +2344,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
def->watchdog->model == VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB && def->watchdog->model == VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB &&
virDeviceInfoPCIAddressIsWanted(&def->watchdog->info)) { virDeviceInfoPCIAddressIsWanted(&def->watchdog->info)) {
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->watchdog->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->watchdog->info) < 0)
goto error; return -1;
} }
/* Video devices */ /* Video devices */
@ -2358,7 +2357,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->videos[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->videos[i]->info) < 0)
goto error; return -1;
} }
/* Shared Memory */ /* Shared Memory */
@ -2367,7 +2366,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->shmems[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->shmems[i]->info) < 0)
goto error; return -1;
} }
for (i = 0; i < def->ninputs; i++) { for (i = 0; i < def->ninputs; i++) {
if (def->inputs[i]->bus != VIR_DOMAIN_INPUT_BUS_VIRTIO || if (def->inputs[i]->bus != VIR_DOMAIN_INPUT_BUS_VIRTIO ||
@ -2375,7 +2374,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->inputs[i]->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &def->inputs[i]->info) < 0)
goto error; return -1;
} }
for (i = 0; i < def->nparallels; i++) { for (i = 0; i < def->nparallels; i++) {
/* Nada - none are PCI based (yet) */ /* Nada - none are PCI based (yet) */
@ -2388,7 +2387,7 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
continue; continue;
if (qemuDomainPCIAddressReserveNextAddr(addrs, &chr->info) < 0) if (qemuDomainPCIAddressReserveNextAddr(addrs, &chr->info) < 0)
goto error; return -1;
} }
for (i = 0; i < def->nchannels; i++) { for (i = 0; i < def->nchannels; i++) {
/* Nada - none are PCI based (yet) */ /* Nada - none are PCI based (yet) */
@ -2402,13 +2401,10 @@ qemuDomainAssignDevicePCISlots(virDomainDefPtr def,
if (qemuDomainPCIAddressReserveNextAddr(addrs, if (qemuDomainPCIAddressReserveNextAddr(addrs,
&def->vsock->info) < 0) &def->vsock->info) < 0)
goto error; return -1;
} }
return 0; return 0;
error:
return -1;
} }

View File

@ -1916,7 +1916,7 @@ qemuDomainShutdownFlagsAgent(virQEMUDriverPtr driver,
if (qemuDomainObjBeginAgentJob(driver, vm, if (qemuDomainObjBeginAgentJob(driver, vm,
QEMU_AGENT_JOB_MODIFY) < 0) QEMU_AGENT_JOB_MODIFY) < 0)
goto cleanup; return -1;
if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) { if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
virReportError(VIR_ERR_OPERATION_INVALID, virReportError(VIR_ERR_OPERATION_INVALID,
@ -1934,8 +1934,6 @@ qemuDomainShutdownFlagsAgent(virQEMUDriverPtr driver,
endjob: endjob:
qemuDomainObjEndAgentJob(vm); qemuDomainObjEndAgentJob(vm);
cleanup:
return ret; return ret;
} }
@ -1951,7 +1949,7 @@ qemuDomainShutdownFlagsMonitor(virQEMUDriverPtr driver,
priv = vm->privateData; priv = vm->privateData;
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
goto cleanup; return -1;
if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) { if (virDomainObjGetState(vm, NULL) != VIR_DOMAIN_RUNNING) {
virReportError(VIR_ERR_OPERATION_INVALID, virReportError(VIR_ERR_OPERATION_INVALID,
@ -1967,8 +1965,6 @@ qemuDomainShutdownFlagsMonitor(virQEMUDriverPtr driver,
endjob: endjob:
qemuDomainObjEndJob(driver, vm); qemuDomainObjEndJob(driver, vm);
cleanup:
return ret; return ret;
} }
@ -6784,14 +6780,13 @@ qemuDomainSaveImageOpen(virQEMUDriverPtr driver,
*ret_def = def; *ret_def = def;
*ret_data = data; *ret_data = data;
cleanup:
return fd; return fd;
error: error:
virDomainDefFree(def); virDomainDefFree(def);
virQEMUSaveDataFree(data); virQEMUSaveDataFree(data);
VIR_FORCE_CLOSE(fd); VIR_FORCE_CLOSE(fd);
goto cleanup; return -1;
} }
static int ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6) static int ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5) ATTRIBUTE_NONNULL(6)
@ -12620,7 +12615,6 @@ qemuDomainMigrateFinish2(virConnectPtr dconn,
{ {
virQEMUDriverPtr driver = dconn->privateData; virQEMUDriverPtr driver = dconn->privateData;
virDomainObjPtr vm; virDomainObjPtr vm;
virDomainPtr dom = NULL;
virCheckFlags(QEMU_MIGRATION_FLAGS, NULL); virCheckFlags(QEMU_MIGRATION_FLAGS, NULL);
@ -12629,24 +12623,21 @@ qemuDomainMigrateFinish2(virConnectPtr dconn,
virReportError(VIR_ERR_NO_DOMAIN, virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching name '%s'"), dname); _("no domain with matching name '%s'"), dname);
qemuMigrationDstErrorReport(driver, dname); qemuMigrationDstErrorReport(driver, dname);
goto cleanup; return NULL;
} }
if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0) { if (virDomainMigrateFinish2EnsureACL(dconn, vm->def) < 0) {
virDomainObjEndAPI(&vm); virDomainObjEndAPI(&vm);
goto cleanup; return NULL;
} }
/* Do not use cookies in v2 protocol, since the cookie /* Do not use cookies in v2 protocol, since the cookie
* length was not sufficiently large, causing failures * length was not sufficiently large, causing failures
* migrating between old & new libvirtd * migrating between old & new libvirtd
*/ */
dom = qemuMigrationDstFinish(driver, dconn, vm, return qemuMigrationDstFinish(driver, dconn, vm,
NULL, 0, NULL, NULL, /* No cookies */ NULL, 0, NULL, NULL, /* No cookies */
flags, retcode, false); flags, retcode, false);
cleanup:
return dom;
} }
@ -13260,7 +13251,6 @@ qemuNodeDeviceGetPCIInfo(virNodeDeviceDefPtr def,
unsigned *function) unsigned *function)
{ {
virNodeDevCapsDefPtr cap; virNodeDevCapsDefPtr cap;
int ret = -1;
cap = def->caps; cap = def->caps;
while (cap) { while (cap) {
@ -13278,12 +13268,10 @@ qemuNodeDeviceGetPCIInfo(virNodeDeviceDefPtr def,
if (!cap) { if (!cap) {
virReportError(VIR_ERR_INVALID_ARG, virReportError(VIR_ERR_INVALID_ARG,
_("device %s is not a PCI device"), def->name); _("device %s is not a PCI device"), def->name);
goto out; return -1;
} }
ret = 0; return 0;
out:
return ret;
} }
static int static int

View File

@ -243,17 +243,14 @@ qemuHostdevPreparePCIDevices(virQEMUDriverPtr driver,
virQEMUCapsPtr qemuCaps, virQEMUCapsPtr qemuCaps,
unsigned int flags) unsigned int flags)
{ {
int ret = -1;
virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr; virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr;
if (!qemuHostdevPreparePCIDevicesCheckSupport(hostdevs, nhostdevs, qemuCaps)) if (!qemuHostdevPreparePCIDevicesCheckSupport(hostdevs, nhostdevs, qemuCaps))
goto out; return -1;
ret = virHostdevPreparePCIDevices(hostdev_mgr, QEMU_DRIVER_NAME, return virHostdevPreparePCIDevices(hostdev_mgr, QEMU_DRIVER_NAME,
name, uuid, hostdevs, name, uuid, hostdevs,
nhostdevs, flags); nhostdevs, flags);
out:
return ret;
} }
int int

View File

@ -2894,41 +2894,38 @@ qemuDomainAttachHostDevice(virQEMUDriverPtr driver,
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI:
if (qemuDomainAttachHostPCIDevice(driver, vm, if (qemuDomainAttachHostPCIDevice(driver, vm,
hostdev) < 0) hostdev) < 0)
goto error; return -1;
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB:
if (qemuDomainAttachHostUSBDevice(driver, vm, if (qemuDomainAttachHostUSBDevice(driver, vm,
hostdev) < 0) hostdev) < 0)
goto error; return -1;
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI:
if (qemuDomainAttachHostSCSIDevice(driver, vm, if (qemuDomainAttachHostSCSIDevice(driver, vm,
hostdev) < 0) hostdev) < 0)
goto error; return -1;
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST:
if (qemuDomainAttachSCSIVHostDevice(driver, vm, hostdev) < 0) if (qemuDomainAttachSCSIVHostDevice(driver, vm, hostdev) < 0)
goto error; return -1;
break; break;
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV: case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV:
if (qemuDomainAttachMediatedDevice(driver, vm, hostdev) < 0) if (qemuDomainAttachMediatedDevice(driver, vm, hostdev) < 0)
goto error; return -1;
break; break;
default: default:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("hotplug is not supported for hostdev subsys type '%s'"), _("hotplug is not supported for hostdev subsys type '%s'"),
virDomainHostdevSubsysTypeToString(hostdev->source.subsys.type)); virDomainHostdevSubsysTypeToString(hostdev->source.subsys.type));
goto error; return -1;
} }
return 0; return 0;
error:
return -1;
} }

View File

@ -971,14 +971,12 @@ qemuMigrationCookieNetworkXMLParse(xmlXPathContextPtr ctxt)
VIR_FREE(interfaces); VIR_FREE(interfaces);
cleanup:
return optr; return optr;
error: error:
VIR_FREE(interfaces); VIR_FREE(interfaces);
qemuMigrationCookieNetworkFree(optr); qemuMigrationCookieNetworkFree(optr);
optr = NULL; return NULL;
goto cleanup;
} }
@ -1053,10 +1051,10 @@ qemuMigrationCookieStatisticsXMLParse(xmlXPathContextPtr ctxt)
VIR_XPATH_NODE_AUTORESTORE(ctxt); VIR_XPATH_NODE_AUTORESTORE(ctxt);
if (!(ctxt->node = virXPathNode("./statistics", ctxt))) if (!(ctxt->node = virXPathNode("./statistics", ctxt)))
goto cleanup; return NULL;
if (VIR_ALLOC(jobInfo) < 0) if (VIR_ALLOC(jobInfo) < 0)
goto cleanup; return NULL;
stats = &jobInfo->stats.mig; stats = &jobInfo->stats.mig;
jobInfo->status = QEMU_DOMAIN_JOB_STATUS_COMPLETED; jobInfo->status = QEMU_DOMAIN_JOB_STATUS_COMPLETED;
@ -1127,7 +1125,7 @@ qemuMigrationCookieStatisticsXMLParse(xmlXPathContextPtr ctxt)
virXPathInt("string(./" VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE "[1])", virXPathInt("string(./" VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE "[1])",
ctxt, &stats->cpu_throttle_percentage); ctxt, &stats->cpu_throttle_percentage);
cleanup:
return jobInfo; return jobInfo;
} }

View File

@ -480,14 +480,14 @@ qemuMigrationParamsSetCompression(virTypedParameterPtr params,
virReportError(VIR_ERR_INVALID_ARG, virReportError(VIR_ERR_INVALID_ARG,
_("Unsupported compression method '%s'"), _("Unsupported compression method '%s'"),
params[i].value.s); params[i].value.s);
goto error; return -1;
} }
if (migParams->compMethods & (1ULL << method)) { if (migParams->compMethods & (1ULL << method)) {
virReportError(VIR_ERR_INVALID_ARG, virReportError(VIR_ERR_INVALID_ARG,
_("Compression method '%s' is specified twice"), _("Compression method '%s' is specified twice"),
params[i].value.s); params[i].value.s);
goto error; return -1;
} }
migParams->compMethods |= 1ULL << method; migParams->compMethods |= 1ULL << method;
@ -514,14 +514,14 @@ qemuMigrationParamsSetCompression(virTypedParameterPtr params,
!(migParams->compMethods & (1ULL << QEMU_MIGRATION_COMPRESS_MT))) { !(migParams->compMethods & (1ULL << QEMU_MIGRATION_COMPRESS_MT))) {
virReportError(VIR_ERR_INVALID_ARG, "%s", virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Turn multithread compression on to tune it")); _("Turn multithread compression on to tune it"));
goto error; return -1;
} }
if (migParams->params[QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE].set && if (migParams->params[QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE].set &&
!(migParams->compMethods & (1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE))) { !(migParams->compMethods & (1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE))) {
virReportError(VIR_ERR_INVALID_ARG, "%s", virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Turn xbzrle compression on to tune it")); _("Turn xbzrle compression on to tune it"));
goto error; return -1;
} }
if (!migParams->compMethods && (flags & VIR_MIGRATE_COMPRESSED)) { if (!migParams->compMethods && (flags & VIR_MIGRATE_COMPRESSED)) {
@ -531,9 +531,6 @@ qemuMigrationParamsSetCompression(virTypedParameterPtr params,
} }
return 0; return 0;
error:
return -1;
} }