From: Andrea Bolognani Date: Fri, 9 Feb 2024 17:38:35 +0000 (+0100) Subject: qemu: Move error reporting out of qemuDomainDefaultSCSIControllerModel() X-Git-Tag: v11.6.0-rc1~143 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=358b68f09dd910241bfc9033f57847f88b956c3c;p=thirdparty%2Flibvirt.git qemu: Move error reporting out of qemuDomainDefaultSCSIControllerModel() We want this helper to work more like other similar ones, where error reporting is performed by the caller. This introduces a small amount of code duplication but makes for a cleaner API. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 01617a5ba1..2d62bcc62b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4240,7 +4240,7 @@ qemuDomainDefAddDefaultAudioBackend(virQEMUDriver *driver, * If the controller model is already defined, return it immediately; * otherwise, based on the @qemuCaps return a default model value. * - * Returns model on success, -1 on failure with error set. + * Returns model on success, -1 on failure. */ int qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, @@ -4261,9 +4261,6 @@ qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, if (qemuDomainHasBuiltinESP(def)) return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Unable to determine model for SCSI controller idx=%1$d"), - cont->idx); return -1; } diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index df7c4f65bf..c7f31ab264 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -963,6 +963,9 @@ qemuDomainFindOrCreateSCSIDiskController(virDomainObj *vm, cont->model = model; if (cont->model < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unable to determine model for SCSI controller idx=%1$d"), + cont->idx); VIR_FREE(cont); return NULL; } diff --git a/src/qemu/qemu_postparse.c b/src/qemu/qemu_postparse.c index 119ea32a85..3f9a1064c7 100644 --- a/src/qemu/qemu_postparse.c +++ b/src/qemu/qemu_postparse.c @@ -346,8 +346,12 @@ qemuDomainControllerDefPostParse(virDomainControllerDef *cont, /* Set the default SCSI controller model if not already set */ cont->model = qemuDomainDefaultSCSIControllerModel(def, cont, qemuCaps); - if (cont->model < 0) + if (cont->model < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unable to determine model for SCSI controller idx=%1$d"), + cont->idx); return -1; + } break; case VIR_DOMAIN_CONTROLLER_TYPE_USB: