[PATCH 0/3] qemu_capabilities: Reword domain caps cache

Michal Privoznik mprivozn at redhat.com
Fri Jan 24 10:27:15 UTC 2020


It's fairly easy to reproduce the bug (see its description in 3/3). Just
put a sleep here:

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index b62dd1df52..eeae967420 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1399,6 +1399,7 @@ virQEMUDriverGetDomainCapabilities(virQEMUDriverPtr driver,
         key = g_strdup_printf("%d:%d:%s:%s", data.arch, data.virttype,
                               NULLSTR(data.machine), NULLSTR(data.path));
 
+        sleep(5);
         if (virHashAddEntry(domCapsCache, key, domCaps) < 0)
             return NULL;
     }



And then try to get domcaps from two consoles at once:

  virsh domcapabilities

One will succeed, the other will fail with an error.

Michal Prívozník (3):
  cpu.c: Check properly for virCapabilitiesGetNodeInfo() retval
  qemu_conf: Avoid dereferencing NULL in
    virQEMUDriverGetHost{NUMACaps,CPU}
  qemu_capabilities: Reword domain caps cache

 src/cpu/cpu.c                |   2 +-
 src/qemu/qemu_capabilities.c | 118 +++++++++++++++++++++++++++++++++--
 src/qemu/qemu_capabilities.h |  14 ++++-
 src/qemu/qemu_conf.c         |  86 +++++++++----------------
 4 files changed, 155 insertions(+), 65 deletions(-)

-- 
2.24.1




More information about the libvir-list mailing list