
On Wed, Mar 05, 2014 at 09:40:34PM +0100, Guido Günther wrote:
+ /* Discard if cache is older that QEMU binary */ + /* XXX must also compare to libvirtd timestamp */ + if (sb.st_mtime < qemuCaps->mtime) { I think looking at the mtime isn't sufficent here. Tools like dpkg set
Hi Daniel, On Wed, Mar 05, 2014 at 05:53:53PM +0000, Daniel P. Berrange wrote: [..snip..] the mtime to the time the package was built at not the installation time so we might end up updating qemu but still having an mtime older than the time the xml was created (same holds for downgrades to older qemu versions) or are we simply requiring distributors to clean the cache upon package upgrades (which would mandate using a trigger)?
NB the existing code already has the flaw you speak of - we cache the capabilities in memory currently and only invalidate when mtime is outdated.
Maybe we need to actually calculate the binaries checksum not only the pathname? We could then simply just wipe alle checksums upon libvirt upgrades to get rid of old entries.
Checksumming the binary content is reasonably heavyweight, but we could just use ctime like Eric suggests Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|