• D
    Cache result of QEMU capabilities extraction · cbde3589
    Daniel P. Berrange 提交于
    Extracting capabilities from QEMU takes a notable amount of time
    when all QEMU binaries are installed. Each system emulator
    needs about 200-300ms multiplied by 26 binaries == ~5-8 seconds.
    
    This change causes the QEMU driver to save an XML file containing
    the content of the virQEMUCaps object instance in the cache
    dir eg /var/cache/libvirt/qemu/capabilities/$SHA256(binarypath).xml
    or $HOME/.cache/libvirt/qemu/cache/capabilities/$SHA256(binarypath).xml
    
    We attempt to load this and only if it fails, do we fallback to
    probing the QEMU binary. The ctime of the QEMU binary and libvirtd
    are stored in the cached file and its data discarded if either
    of them change.
    Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
    cbde3589
qemu_capabilities.c 100.4 KB