aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.d/sysfs.in2
-rw-r--r--sh/runscript.sh.in29
2 files changed, 8 insertions, 23 deletions
diff --git a/init.d/sysfs.in b/init.d/sysfs.in
index 257f3148..a536d5fd 100644
--- a/init.d/sysfs.in
+++ b/init.d/sysfs.in
@@ -65,7 +65,7 @@ mount_misc()
if [ -d /sys/fs/cgroup ] && ! mountinfo -q /sys/fs/cgroup; then
if grep -qs cgroup /proc/filesystems; then
ebegin "Mounting cgroup filesystem"
- mount -n -t cgroup -o nodev,noexec,nosuid \
+ mount -n -t tmpfs -o nodev,noexec,nosuid \
cgroup /sys/fs/cgroup
eend $?
fi
diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in
index c7d712be..706a1f7d 100644
--- a/sh/runscript.sh.in
+++ b/sh/runscript.sh.in
@@ -190,18 +190,13 @@ fi
sourcex -e "@SYSCONFDIR@/rc.conf"
# Attach to CGroup - dir existing is enough for us
-if [ -d /sys/fs/cgroup/ ]; then
- # use RC_SVCNAME unless overridden in conf.d
- SVC_CGROUP=${rc_cgroup:-$RC_SVCNAME}
- mkdir -p /sys/fs/cgroup/${SVC_CGROUP}
- for f in cpuset.cpus cpuset.mems; do
- if [ -f /sys/fs/cgroup/${f} ]; then
- cp /sys/fs/cgroup/${f} /sys/fs/cgroup/${SVC_CGROUP}
- fi
- done
- # now attach self to cgroup - any children of this process will inherit this
- echo $$ > /sys/fs/cgroup/${SVC_CGROUP}/tasks
- # TODO: set res limits from conf.d
+if [ -d /sys/fs/cgroup -a -n "${rc_cgroup}" ]; then
+ if [ -d /sys/fs/cgroup/${rc_cgroup} ]; then
+ # attach self to cgroup - any children of this process will inherit this
+ echo $$ > /sys/fs/cgroup/${rc_cgroup}/tasks
+ else
+ eerror "Control group /sys/fs/cgroup/${rc_cgroup} does not exist."
+ fi
fi
# Apply any ulimit defined
@@ -307,14 +302,4 @@ while [ -n "$1" ]; do
exit 1
done
-# CGroup cleanup
-if [ -d /sys/fs/cgroup/ ]; then
- # use RC_SVCNAME unless overridden in conf.d
- SVC_CGROUP=${rc_cgroup:-$RC_SVCNAME}
- # reattach to root cgroup
- echo $$ > /sys/fs/cgroup/tasks
- # remove cgroup if empty, will fail if any task attached
- rmdir /sys/fs/cgroup/${SVC_CGROUP} 2>/dev/null
-fi
-
exit 0