[libvirt] [PATCH v3 14/52] qemu: Use virDomainCapsCPUUsable in qemuMonitorCPUDefInfo

Jiri Denemark jdenemar at redhat.com
Tue Nov 5 13:27:12 UTC 2019


While virDomainCapsCPUModel structure contains 'usable' field with
virDomainCapsCPUUsable type, the lower level structure specific to QEMU
driver used virTriStateBool for the same thing and we had to translate
between them.

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---

Notes:
    Version 3:
    - new patch

 src/qemu/qemu_capabilities.c | 11 +++--------
 src/qemu/qemu_monitor.h      |  2 +-
 src/qemu/qemu_monitor_json.c |  4 ++--
 tests/qemumonitorjsontest.c  |  4 ++--
 4 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 5136fe9202..2a93488520 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2486,14 +2486,9 @@ virQEMUCapsFetchCPUDefinitions(qemuMonitorPtr mon,
         goto cleanup;
 
     for (i = 0; i < defs->ncpus; i++) {
-        virDomainCapsCPUUsable usable = VIR_DOMCAPS_CPU_USABLE_UNKNOWN;
-
-        if (defs->cpus[i].usable == VIR_TRISTATE_BOOL_YES)
-            usable = VIR_DOMCAPS_CPU_USABLE_YES;
-        else if (defs->cpus[i].usable == VIR_TRISTATE_BOOL_NO)
-            usable = VIR_DOMCAPS_CPU_USABLE_NO;
-
-        if (virDomainCapsCPUModelsAddSteal(models, &defs->cpus[i].name, usable,
+        if (virDomainCapsCPUModelsAddSteal(models,
+                                           &defs->cpus[i].name,
+                                           defs->cpus[i].usable,
                                            &defs->cpus[i].blockers) < 0)
             goto cleanup;
     }
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
index 629379802c..0eed8b3f9e 100644
--- a/src/qemu/qemu_monitor.h
+++ b/src/qemu/qemu_monitor.h
@@ -1107,7 +1107,7 @@ typedef struct _qemuMonitorCPUDefInfo qemuMonitorCPUDefInfo;
 typedef qemuMonitorCPUDefInfo *qemuMonitorCPUDefInfoPtr;
 
 struct _qemuMonitorCPUDefInfo {
-    virTristateBool usable;
+    virDomainCapsCPUUsable usable;
     char *name;
     char **blockers; /* NULL-terminated string list */
 };
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index a6cf70c70a..54963233e6 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -5638,11 +5638,11 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon,
             len = virJSONValueArraySize(blockers);
 
             if (len == 0) {
-                cpu->usable = VIR_TRISTATE_BOOL_YES;
+                cpu->usable = VIR_DOMCAPS_CPU_USABLE_YES;
                 continue;
             }
 
-            cpu->usable = VIR_TRISTATE_BOOL_NO;
+            cpu->usable = VIR_DOMCAPS_CPU_USABLE_NO;
             if (VIR_ALLOC_N(cpu->blockers, len + 1) < 0)
                 return -1;
 
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 81680d97f8..16a1d40a56 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -478,11 +478,11 @@ testQemuMonitorJSONGetCPUDefinitions(const void *opaque)
     } while (0)
 
 #define CHECK(i, wantname) \
-    CHECK_FULL(i, wantname, VIR_TRISTATE_BOOL_ABSENT)
+    CHECK_FULL(i, wantname, VIR_DOMCAPS_CPU_USABLE_UNKNOWN)
 
 #define CHECK_USABLE(i, wantname, usable) \
     CHECK_FULL(i, wantname, \
-               usable ? VIR_TRISTATE_BOOL_YES : VIR_TRISTATE_BOOL_NO)
+               usable ? VIR_DOMCAPS_CPU_USABLE_YES : VIR_DOMCAPS_CPU_USABLE_NO)
 
     CHECK(0, "qemu64");
     CHECK_USABLE(1, "Opteron_G4", false);
-- 
2.23.0




More information about the libvir-list mailing list