Posting this as an RFC since I'm trying to get upstream feedback on whether either approach is better or whether perhaps both approaches should be used. The problem occurred primarily for downstream installations where it seems the order of the build libvirtd caused issues regarding whether certain capabilities bits were present. Although the history of the case doesn't "prove" my theory exactly other issues around the same time that were part of a private bz or email stream (I forget now) seem to indicate that the order of libvirtd builds and installations would be very important as they relate to when the cache is rebuilt. In the instances seen there was lots of testing going on related to whether patches were found in a 'maintenance release' and the 'mainline release'. Since the process is build the mainline first and then backport the patch(es) to the maintenance release, it's possible the date of the maintenance libvirtd would be later than that of the mainline release. If testing installs the maintenance release first and the cache gets updated based on the 'ctime' of libvirtd being later than what was currently installed and then the mainline release is installed with a libvirtd 'ctime' that would possibly be prior to that of the maintentance release, then the cache wouldn't be updated. The fix for testing has been just to delete the cache. In looking at the code and history, I see a couple possible solutions. The first seems to be a "big hammer" - on every libvirtd installation we delete the entire cache - this would force the reread. I believe I got that right using %post of the install to clear out anything in the capabilities directory (whether just created or already existing from some prior installation). Another solution was to adjust the libvirtd 'ctime' check to be if different than what is found in the cache. When looking at the original commit, this seems to be what the intention was in the commit message, but the actual code was slightly different. Upstream review comments for changes didn't mention the difference either, see: http://www.redhat.com/archives/libvir-list/2014-March/msg00629.html and https://www.redhat.com/archives/libvir-list/2014-March/msg00301.html John Ferlan (2): spec: Remove capabilities cache during %post install qemu: Force capabilities cache read if libvirtd date is different libvirt.spec.in | 11 +++++++++++ src/qemu/qemu_capabilities.c | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) -- 2.1.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list