]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: Move error reporting out of qemuDomainDefaultSCSIControllerModel()
authorAndrea Bolognani <abologna@redhat.com>
Fri, 9 Feb 2024 17:38:35 +0000 (18:38 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 4 Jul 2025 12:26:21 +0000 (14:26 +0200)
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 <abologna@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_domain.c
src/qemu/qemu_hotplug.c
src/qemu/qemu_postparse.c

index 01617a5ba13540b59ae91b171ad9f1519263e7c8..2d62bcc62b2e231ab9f440040a51990fc0046664 100644 (file)
@@ -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;
 }
 
index df7c4f65bfc73df5f130774e6cd20d954b03e815..c7f31ab2648745d82bb92f90f8c858cbc8bccd83 100644 (file)
@@ -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;
     }
index 119ea32a8504bf4886e816292c33ce5e7c02b0b7..3f9a1064c73d201c863419ecfed17fd3d189e28b 100644 (file)
@@ -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: