diff options
-rw-r--r-- | init.d/sysfs.in | 2 | ||||
-rw-r--r-- | sh/runscript.sh.in | 29 |
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 |