Currently if the binary path is NULL in the qemu capabilities object,
cache invalidation is skipped. A future patch will ensure that the
binary path is always non-NULL, so a way to explicitly skip invalidation
is required.
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
char *binary;
time_t ctime;
time_t libvirtCtime;
+ bool invalidation;
virBitmapPtr flags;
if (!(qemuCaps = virObjectNew(virQEMUCapsClass)))
return NULL;
+ qemuCaps->invalidation = true;
if (!(qemuCaps->flags = virBitmapNew(QEMU_CAPS_LAST)))
goto error;
}
+void
+virQEMUCapsSetInvalidation(virQEMUCapsPtr qemuCaps,
+ bool enabled)
+{
+ qemuCaps->invalidation = enabled;
+}
+
+
static int
virQEMUCapsHostCPUDataCopy(virQEMUCapsHostCPUDataPtr dst,
virQEMUCapsHostCPUDataPtr src)
if (!ret)
return NULL;
+ ret->invalidation = qemuCaps->invalidation;
ret->usedQMP = qemuCaps->usedQMP;
ret->kvmSupportsNesting = qemuCaps->kvmSupportsNesting;
struct stat sb;
bool kvmSupportsNesting;
+ if (!qemuCaps->invalidation)
+ return true;
+
if (!qemuCaps->binary)
return true;
unsigned int microcodeVersion,
const char *kernelVersion);
+void virQEMUCapsSetInvalidation(virQEMUCapsPtr qemuCaps,
+ bool enabled);
+
int virQEMUCapsLoadCache(virArch hostArch,
virQEMUCapsPtr qemuCaps,
const char *filename);