forked from ports/contrib
55 lines
1.6 KiB
Plaintext
55 lines
1.6 KiB
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# /etc/rc.d/lxc-cgroups: setup lxc cgroups
|
||
|
#
|
||
|
|
||
|
if test ! -f /proc/cgroups
|
||
|
then
|
||
|
echo 'cgroups are not enabled on this kernel.'
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
case $1 in
|
||
|
start)
|
||
|
# Mount system cgroups.
|
||
|
mount -t tmpfs -o nosuid,nodev,noexec,mode=0755 tmpfs /sys/fs/cgroup
|
||
|
for i in $(awk '!/^#/{if($4==1){print$1}}' /proc/cgroups)
|
||
|
do
|
||
|
mkdir /sys/fs/cgroup/$i
|
||
|
mount -t cgroup -o nosuid,nodev,noexec,$i cgroup /sys/fs/cgroup/$i
|
||
|
done
|
||
|
mkdir /sys/fs/cgroup/systemd
|
||
|
mount -t cgroup -o nosuid,nodev,noexec,none,name=systemd cgroup /sys/fs/cgroup/systemd
|
||
|
mkdir /sys/fs/cgroup/unified
|
||
|
mount -t cgroup2 -o nosuid,nodev,noexec cgroup /sys/fs/cgroup/unified
|
||
|
mount -o ro,remount /sys/fs/cgroup
|
||
|
# Setup user cgroups.
|
||
|
if test -f /etc/lxc/lxc-usernet
|
||
|
then
|
||
|
test -f /sys/fs/cgroup/cpuset/cgroup.clone_children && echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children
|
||
|
test -f /sys/fs/cgroup/memory/memory.use_hierarchy && echo 1 > /sys/fs/cgroup/memory/memory.use_hierarchy
|
||
|
for i in $(awk '!/^#/{if($1!~"@"){print$1}}' /etc/lxc/lxc-usernet)
|
||
|
do
|
||
|
for j in /sys/fs/cgroup/*
|
||
|
do
|
||
|
test $j = /sys/fs/cgroup/unified && continue
|
||
|
mkdir -m 0755 -p $j/$i
|
||
|
chown -R $i $j/$i
|
||
|
done
|
||
|
done
|
||
|
fi
|
||
|
;;
|
||
|
stop)
|
||
|
umount -R /sys/fs/cgroup
|
||
|
;;
|
||
|
restart)
|
||
|
$0 stop
|
||
|
$0 start
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $0 [start|stop|restart]"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
# End of file
|