Skip to content

Missing `/run/lock/subsys` directory

Description:

After upgrade to new systemd I noticed that libvirt-guests is logging the following

● libvirt-guests.service - libvirt guests suspend/resume service
     Loaded: loaded (/usr/lib/systemd/system/libvirt-guests.service; enabled; preset: disabled)
     Active: active (exited) since Sat 2024-12-14 17:42:26 GMT; 2h 59min ago
. . .
Dec 14 17:42:26 gdansk.lan.incorrekt.net libvirt-guests.sh[8388]: Resuming guest opole-vfio1:
Dec 14 17:42:26 gdansk.lan.incorrekt.net libvirt-guests.sh[8625]: done
Dec 14 17:42:26 gdansk.lan.incorrekt.net libvirt-guests.sh[8640]: touch: cannot touch '/var/lock/subsys/libvirt-guests': No such file or directory
Dec 14 17:42:26 gdansk.lan.incorrekt.net systemd[1]: Finished libvirt guests suspend/resume service.

Reading libvirt-guests history it appears that the lock parent directory has not been changed in a very long time, which makes me guess that the issue is due to a recent change in systemd.

https://gitlab.com/libvirt/libvirt/-/blob/master/tools/libvirt-guests.sh.in?ref_type=heads#L47

Additional info:

  • package version(s): 257-1
  • config and/or log files:
  • link to upstream bug report, if any:

Steps to reproduce:

  1. install any package (e.g. libvirt) which relies on the old-style /var/lock/subsys or /run/lock/subsys
  2. observe the software (e.g. libvirt-guests) fail to create its lock file due to missing parent directory
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information