diff options
author | William Hubbs <williamh@gentoo.org> | 2012-07-02 13:22:04 -0500 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2012-07-02 13:47:58 -0500 |
commit | d5ecc9d7468403487361c7515133b1e1cb7c0ebf (patch) | |
tree | c4de8f8cdf67067398ee50af8dd38af751034ea7 | |
parent | 6df517646253b60a923c2828ed82eab2bdfa4137 (diff) | |
download | openrc-d5ecc9d7468403487361c7515133b1e1cb7c0ebf.tar.gz openrc-d5ecc9d7468403487361c7515133b1e1cb7c0ebf.tar.bz2 openrc-d5ecc9d7468403487361c7515133b1e1cb7c0ebf.tar.xz |
fix handling of /run for vserver
Mount can't be used in vservers, but /run is still needed. So we create
the directory and clear it out instead of mounting a tmpfs in that
situation.
reported-by: <patrick@gentoo.org>
X-Gentoo-Bug: 423739
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=423739
-rw-r--r-- | sh/init.sh.Linux.in | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/sh/init.sh.Linux.in b/sh/init.sh.Linux.in index 5daa1bb..0eca736 100644 --- a/sh/init.sh.Linux.in +++ b/sh/init.sh.Linux.in @@ -37,14 +37,23 @@ fi # /run is a new directory for storing volatile runtime data. # Read more about /run at https://lwn.net/Articles/436012 +sys="$(rc --sys)" + if [ ! -d /run ]; then - eerror "The /run directory does not exist. Unable to continue." - return 1 + if [ "$sys" = VSERVER ]; then + if [ -e /run ]; then + rm -rf /run + fi + mkdir /run + else + eerror "The /run directory does not exist. Unable to continue." + return 1 + fi fi -if mountinfo -q /run; then - einfo "/run is already mounted, skipping" -else +if [ "$sys" = VSERVER ]; then + rm -rf /run/* +elif ! mountinfo -q /run; then ebegin "Mounting /run" rc=0 if ! fstabinfo --mount /run; then |