There are other ctime based caches as well like virQEMUCapsKVMUsable for /dev/kvm.
The checker for the main caps is virQEMUCapsIsValid and so far checks:
- libvirt ctime (binary)
- libvirt version (internal build time value)
- qemu bin ctime (binary)
- do not not go further down if on emulated arch (won't change)
- /dev/kvm got accessible since last caching (DAC)
- /dev/kvm got unavailable since last caching (DAC)
- microcode changed (cpuinfo)
- kernel version changed
- Nesting is now supported
Currently libvirt tracks these elements to consider refreshing (they are stored in the capability XMLs themselves).
<qemuctime> 1558846766< /qemuctime> 1557980947< /selfctime> 4000000< /selfvers>
<selfctime>
<selfvers>
There are other ctime based caches as well like virQEMUCapsKVMU sable for /dev/kvm.
The checker for the main caps is virQEMUCapsIsValid and so far checks:
- libvirt ctime (binary)
- libvirt version (internal build time value)
- qemu bin ctime (binary)
- do not not go further down if on emulated arch (won't change)
- /dev/kvm got accessible since last caching (DAC)
- /dev/kvm got unavailable since last caching (DAC)
- microcode changed (cpuinfo)
- kernel version changed
- Nesting is now supported
The latter sounds familiar right? /libvirt. org/git/ ?p=libvirt. git;a=commit; h=b183a75319b90 d0af5512be51374 3e1eab950612
=> https:/
That is in 5.0 which means =>Disco already.
Lets check how backportable that is ...