10.03.2020 12:39, Stefan Hajnoczi wrote: > On Fri, Mar 06, 2020 at 02:26:48PM +0100, Christian Ehrhardt wrote: >> On upgrades the old .so files usually are replaced. But on the other >> hand since a qemu process represents a guest instance it is usually kept >> around. >> >> That makes late addition of dynamic features e.g. 'hot-attach of a ceph >> disk' fail by trying to load a new version of e.f. block-rbd.so into an >> old still running qemu binary. >> >> This adds a fallback to also load modules from a versioned directory in the >> temporary /var/run path. That way qemu is providing a way for packaging >> to store modules of an upgraded qemu package as needed until the next reboot. >> >> An example how that can then be used in packaging can be seen in: >> https://git.launchpad.net/~paelzer/ubuntu/+source/qemu/log/?h=bug-1847361-miss-old-so-on-upgrade-UBUNTU >> >> Fixes: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1847361 >> Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com> >> --- >> util/module.c | 7 +++++++ >> 1 file changed, 7 insertions(+) > > CCing Debian, Fedora, and Red Hat package maintainers in case they have > comments. > > The use of /var/run makes me a little uneasy. I guess it's related to > wanting to uninstall the old package so the .so in their original > location cannot be used (even if they had a versioned path)?
BTW, this is /run nowadays, not /var/run, as far as I can see. /mjt