mirror of
https://github.com/openwrt/packages.git
synced 2026-10-22 14:57:32 +04:00
uvol creates /tmp/run/uvol/.meta/apk as the database directory of apk's uvol layer, but leaves it empty. apk only activates a layer other than the root one when its world file can be read, so every package built for that layer is refused as "masked in: layer" until something writes the file. The container runtime keeps its global state in /tmp/run/uvol/.meta/uxc, which only container packages ship, so on a device without any of them that state cannot be stored. Create an empty world file and the uxc directory when they are missing, whenever .meta is created or adopted at boot. uvol up on an LVM volume that is already active and registered with blockd registers it again. blockd answers each registration with a mount.add notification, so a consumer that brings volumes up from a mount.add trigger, such as the container runtime, triggers itself again without end. Return success for such a volume without registering it, as the UBI backend already does for an active volume. Fixes:6772c0fe44("uvol: clean up paths and fix delayed startup") Fixes:cb60600aec("uvol: bump version to 1.1") Signed-off-by: Daniel Golle <daniel@makrotopia.org>