Simple cut/paste operations within function
qemuConnectBaselineHypervisorCPU to group together code specific to
computing baseline using only libvirt utility functions.
This is done in anticipation of creating new utility functions for
1) baseline using libvirt utilities (this code)
2) baseline using qemu qmp command (future)
Future patches are easier to follow if the code for using libvirt is
consolidated.
Signed-off-by: Chris Venteicher <cventeic(a)redhat.com>
---
src/qemu/qemu_driver.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1d961707cc..161b82d229 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -13711,7 +13711,6 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr conn,
virQEMUCapsPtr qemuCaps = NULL;
virArch arch;
virDomainVirtType virttype;
- virDomainCapsCPUModelsPtr cpuModels;
bool migratable;
virCPUDefPtr cpu = NULL;
char *cpustr = NULL;
@@ -13723,8 +13722,6 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr conn,
if (virConnectBaselineHypervisorCPUEnsureACL(conn) < 0)
goto cleanup;
- migratable = !!(flags & VIR_CONNECT_BASELINE_CPU_MIGRATABLE);
-
if (!(cpus = virCPUDefListParse(xmlCPUs, ncpus, VIR_CPU_TYPE_AUTO)))
goto cleanup;
@@ -13737,17 +13734,21 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr conn,
if (!qemuCaps)
goto cleanup;
- if (!(cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, virttype)) ||
- cpuModels->nmodels == 0) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
- _("QEMU '%s' does not support any CPU models for
"
- "virttype '%s'"),
- virQEMUCapsGetBinary(qemuCaps),
- virDomainVirtTypeToString(virttype));
- goto cleanup;
- }
-
if (ARCH_IS_X86(arch)) {
+ migratable = !!(flags & VIR_CONNECT_BASELINE_CPU_MIGRATABLE);
+
+ virDomainCapsCPUModelsPtr cpuModels;
+
+ if (!(cpuModels = virQEMUCapsGetCPUDefinitions(qemuCaps, virttype)) ||
+ cpuModels->nmodels == 0) {
+ virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
+ _("QEMU '%s' does not support any CPU models for
"
+ "virttype '%s'"),
+ virQEMUCapsGetBinary(qemuCaps),
+ virDomainVirtTypeToString(virttype));
+ goto cleanup;
+ }
+
int rc = virQEMUCapsGetCPUFeatures(qemuCaps, virttype,
migratable, &features);
if (rc < 0)
--
2.17.1