[PATCH 1/7] virCPUx86DataIsIdentical: Add debug output

Peter Krempa pkrempa at redhat.com
Mon Apr 25 13:28:25 UTC 2022


Without this it's impossible to debug scenarios when this function
returns a mismatch but the formatted data looks identical.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/cpu/cpu_x86.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 9826ec6190..18e9cacfd0 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -3309,14 +3309,20 @@ virCPUx86DataIsIdentical(const virCPUData *a,
     if (!a || !b)
         return VIR_CPU_COMPARE_ERROR;

-    if (a->arch != b->arch)
+    if (a->arch != b->arch) {
+        VIR_DEBUG("incompatible architecture a:%u b:%u", a->arch, b->arch);
         return VIR_CPU_COMPARE_INCOMPATIBLE;
+    }

-    if (!((adata = &a->data.x86) && (bdata = &b->data.x86)))
+    if (!((adata = &a->data.x86) && (bdata = &b->data.x86))) {
+        VIR_DEBUG("missing x86 data: a:%p b:%p", adata, bdata);
         return VIR_CPU_COMPARE_ERROR;
+    }

-    if (adata->len != bdata->len)
+    if (adata->len != bdata->len) {
+        VIR_DEBUG("unequal length a:%zu b:%zu", adata->len, bdata->len);
         return VIR_CPU_COMPARE_INCOMPATIBLE;
+    }

     for (i = 0; i < adata->len; ++i) {
         bool found = false;
@@ -3330,8 +3336,10 @@ virCPUx86DataIsIdentical(const virCPUData *a,
             break;
         }

-        if (!found)
+        if (!found) {
+            VIR_DEBUG("mismatched data");
             return VIR_CPU_COMPARE_INCOMPATIBLE;
+        }
     }

     return VIR_CPU_COMPARE_IDENTICAL;
-- 
2.35.1



More information about the libvir-list mailing list