From 13d216617df87995cc5c35afef2b7b3da2d79b44 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Tue, 30 Jan 2018 17:29:48 -0500 Subject: [PATCH] qemu: Fetch/save the default SCSI controller model during hotplug If we're going to add a controller to the domain, let's set the default SCSI model value if we cannot find another SCSI controller already present. NB: Requires updating the live output test data since the model will now be formatted. --- src/qemu/qemu_hotplug.c | 8 ++++++-- .../qemuhotplug-base-with-scsi-controller-live.xml | 8 ++++---- ...plug-base-without-scsi-controller-live+disk-scsi-2.xml | 8 ++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 6b245bd6ac..fccbc29a00 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -587,6 +587,7 @@ qemuDomainFindOrCreateSCSIDiskController(virQEMUDriverPtr driver, { size_t i; virDomainControllerDefPtr cont; + qemuDomainObjPrivatePtr priv = vm->privateData; int model = -1; for (i = 0; i < vm->def->ncontrollers; i++) { @@ -615,10 +616,13 @@ qemuDomainFindOrCreateSCSIDiskController(virQEMUDriverPtr driver, return NULL; cont->type = VIR_DOMAIN_CONTROLLER_TYPE_SCSI; cont->idx = controller; - cont->model = model; + if (model == -1) + cont->model = qemuDomainGetSCSIControllerModel(vm->def, cont, priv->qemuCaps); + else + cont->model = model; VIR_INFO("No SCSI controller present, hotplugging one model=%s", - virDomainControllerModelSCSITypeToString(model)); + virDomainControllerModelSCSITypeToString(cont->model)); if (qemuDomainAttachControllerDevice(driver, vm, cont) < 0) { VIR_FREE(cont); return NULL; diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-with-scsi-controller-live.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-with-scsi-controller-live.xml index 63eb770078..d23d3d483e 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-with-scsi-controller-live.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-with-scsi-controller-live.xml @@ -26,19 +26,19 @@ - +
- +
- +
- +
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml index c12d18f716..cceb678bb9 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml @@ -36,19 +36,19 @@ - +
- +
- +
- +