diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2011-03-25 05:07:20 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-28 23:00:00 +0200 |
commit | 2b583ce6576d4a074ce6f1570b3e60b65c64ae7d (patch) | |
tree | c5cfa0138219cc79a6412bb69abe13ece385009c /src/sd-readahead.c | |
parent | 37f85e66e8f396b6f758e063531b95531aef628e (diff) |
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
Diffstat (limited to 'src/sd-readahead.c')
-rw-r--r-- | src/sd-readahead.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sd-readahead.c b/src/sd-readahead.c index 0dfe4abab5..c5cfe67107 100644 --- a/src/sd-readahead.c +++ b/src/sd-readahead.c @@ -42,8 +42,8 @@ static int touch(const char *path) { #if !defined(DISABLE_SYSTEMD) && defined(__linux__) int fd; - mkdir("/dev/.run/systemd", 0755); - mkdir("/dev/.run/systemd/readahead", 0755); + mkdir("/run/systemd", 0755); + mkdir("/run/systemd/readahead", 0755); if ((fd = open(path, O_WRONLY|O_CREAT|O_CLOEXEC|O_NOCTTY, 0666)) < 0) return -errno; @@ -66,11 +66,11 @@ int sd_readahead(const char *action) { return -EINVAL; if (strcmp(action, "cancel") == 0) - return touch("/dev/.run/systemd/readahead/cancel"); + return touch("/run/systemd/readahead/cancel"); else if (strcmp(action, "done") == 0) - return touch("/dev/.run/systemd/readahead/done"); + return touch("/run/systemd/readahead/done"); else if (strcmp(action, "noreplay") == 0) - return touch("/dev/.run/systemd/readahead/noreplay"); + return touch("/run/systemd/readahead/noreplay"); return -EINVAL; } |