Move to qemu_domain during the validation of controller options and
rename qemuDomainCheckSCSIControllerModel.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_command.c | 54 -------------------------------------------------
src/qemu/qemu_domain.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1a9249e1b..0583f8fec 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1888,57 +1888,6 @@ qemuCheckIOThreads(const virDomainDef *def,
}
-static bool
-qemuBuildCheckSCSIControllerModel(virQEMUCapsPtr qemuCaps,
- int model)
-{
- switch (model) {
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC:
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("This QEMU doesn't support "
- "the LSI 53C895A SCSI controller"));
- return false;
- }
- break;
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI:
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("This QEMU doesn't support "
- "virtio scsi controller"));
- return false;
- }
- break;
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI:
- /*TODO: need checking work here if necessary */
- break;
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1068:
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_MPTSAS1068)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("This QEMU doesn't support "
- "the LSI SAS1068 (MPT Fusion) controller"));
- return false;
- }
- break;
- case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1078:
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_MEGASAS)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("This QEMU doesn't support "
- "the LSI SAS1078 (MegaRAID) controller"));
- return false;
- }
- break;
- default:
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Unsupported controller model: %s"),
- virDomainControllerModelSCSITypeToString(model));
- return false;
- }
-
- return true;
-}
-
-
char *
qemuBuildDriveDevStr(const virDomainDef *def,
virDomainDiskDefPtr disk,
@@ -2716,9 +2665,6 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI) {
if ((qemuDomainResetSCSIControllerModel(domainDef, qemuCaps, &model)) <
0)
return -1;
-
- if (!qemuBuildCheckSCSIControllerModel(qemuCaps, model))
- return -1;
}
switch ((virDomainControllerType) def->type) {
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 1a890c01a..a253d4708 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -3972,6 +3972,57 @@ qemuDomainDeviceDefValidateControllerAttributes(const
virDomainControllerDef *co
}
+static bool
+qemuDomainCheckSCSIControllerModel(virQEMUCapsPtr qemuCaps,
+ int model)
+{
+ switch (model) {
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC:
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("This QEMU doesn't support "
+ "the LSI 53C895A SCSI controller"));
+ return false;
+ }
+ break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI:
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("This QEMU doesn't support "
+ "virtio scsi controller"));
+ return false;
+ }
+ break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI:
+ /*TODO: need checking work here if necessary */
+ break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1068:
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_MPTSAS1068)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("This QEMU doesn't support "
+ "the LSI SAS1068 (MPT Fusion) controller"));
+ return false;
+ }
+ break;
+ case VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSISAS1078:
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_MEGASAS)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("This QEMU doesn't support "
+ "the LSI SAS1078 (MegaRAID) controller"));
+ return false;
+ }
+ break;
+ default:
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Unsupported controller model: %s"),
+ virDomainControllerModelSCSITypeToString(model));
+ return false;
+ }
+
+ return true;
+}
+
+
static int
qemuDomainDeviceDefValidateControllerIDE(const virDomainControllerDef *controller,
const virDomainDef *def)
@@ -4013,6 +4064,9 @@ qemuDomainDeviceDefValidateController(const virDomainControllerDef
*controller,
if (controller->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI) {
if ((qemuDomainResetSCSIControllerModel(def, qemuCaps, &model)) < 0)
return -1;
+
+ if (!qemuDomainCheckSCSIControllerModel(qemuCaps, model))
+ return -1;
}
if (qemuDomainDeviceDefValidateControllerAttributes(controller, model) < 0)
--
2.13.6