chiark / gitweb /
use /run instead of /dev/.run
authorKay Sievers <kay.sievers@vrfy.org>
Fri, 25 Mar 2011 04:07:20 +0000 (05:07 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 28 Mar 2011 21:00:00 +0000 (23:00 +0200)
commit2b583ce6576d4a074ce6f1570b3e60b65c64ae7d
treec5cfa0138219cc79a6412bb69abe13ece385009c
parent37f85e66e8f396b6f758e063531b95531aef628e
use /run instead of /dev/.run

Instead of the /dev/.run trick we have currently implemented, we decided
to move the early-boot runtime dir to /run.

An existing /var/run directory is bind-mounted to /run. If /var/run is
already a symlink, no action is taken.

An existing /var/lock directory is bind-mounted to /run/lock.
If /var/lock is already a symlink, no action is taken.

To implement the directory vs. symlink logic, we have a:
  ConditionPathIsDirectory=
now, which is used in the mount units.

Skipped mount unit in case of symlink:
  $ systemctl status var-run.mount
  var-run.mount - Runtime Directory
    Loaded: loaded (/lib/systemd/system/var-run.mount)
    Active: inactive (dead)
            start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago
     Where: /var/run
      What: /run
    CGroup: name=systemd:/system/var-run.mount

The systemd rpm needs to make sure to add something like:
  %pre
  mkdir -p -m0755 /run >/dev/null 2>&1 || :
or it needs to be added to filesystem.rpm.

Udev -git already uses /run if that exists, and is writable at bootup.
Otherwise it falls back to the current /dev/.udev.

Dracut and plymouth need to be adopted to switch from /dev/.run to run
too.

Cheers,
Kay
38 files changed:
man/sd_readahead.xml
man/systemd-nspawn.xml
src/ask-password-api.c
src/cgroups-agent.c
src/condition.c
src/condition.h
src/conf-parser.c
src/conf-parser.h
src/dbus-common.c
src/dbus.c
src/execute.h
src/fsck.c
src/load-fragment.c
src/machine-id-setup.c
src/main.c
src/manager.c
src/mount-setup.c
src/mount.c
src/nspawn.c
src/path-lookup.c
src/quotacheck.c
src/readahead-collect.c
src/readahead-common.c
src/readahead-replay.c
src/sd-readahead.c
src/systemctl.c
src/tty-ask-password-agent.c
systemd.pc.in
tmpfiles.d/systemd.conf
units/fsck-root.service.in
units/plymouth-start.service
units/systemd-ask-password-console.path
units/systemd-ask-password-plymouth.path
units/systemd-ask-password-wall.path
units/systemd-logger.socket
units/systemd-shutdownd.socket
units/var-lock.mount
units/var-run.mount