]>
Commit | Line | Data |
---|---|---|
1c511f26 | 1 | #!/bin/sh -eux |
b4a2f20a SG |
2 | |
3 | PASS=0 | |
e5e7d255 | 4 | UUID=$(uuidgen) |
b4a2f20a SG |
5 | |
6 | cleanup() { | |
794ed8d5 | 7 | [ "$PASS" = "1" ] || (echo FAIL && exit 1) |
b4a2f20a SG |
8 | } |
9 | ||
1c511f26 SH |
10 | LXCFSDIR=${LXCFSDIR:-/var/lib/lxcfs} |
11 | ||
b4a2f20a SG |
12 | trap cleanup EXIT HUP INT TERM |
13 | ||
1c511f26 SH |
14 | if ! mountpoint -q ${LXCFSDIR}; then |
15 | echo "lxcfs isn't mounted on ${LXCFSDIR}" | |
b4a2f20a SG |
16 | exit 1 |
17 | fi | |
18 | ||
754c2080 SH |
19 | for c in memory freezer cpuset; do |
20 | [ ! -d /sys/fs/cgroup/${c} ] && exit 0 | |
21 | done | |
b4a2f20a | 22 | |
754c2080 SH |
23 | initcpuset=`awk -F: '/cpuset/ { print $3 }' /proc/1/cgroup` |
24 | initmemory=`awk -F: '/memory/ { print $3 }' /proc/1/cgroup` | |
25 | initfreezer=`awk -F: '/freezer/ { print $3 }' /proc/1/cgroup` | |
b4a2f20a | 26 | |
754c2080 SH |
27 | cpupath=/sys/fs/cgroup/cpuset/${initcpuset} |
28 | mempath=/sys/fs/cgroup/memory/${initmemory} | |
29 | frzpath=/sys/fs/cgroup/freezer/${initfreezer} | |
b4a2f20a | 30 | |
e5e7d255 SG |
31 | rmdir ${cpupath}/${UUID} || true |
32 | rmdir ${mempath}/${UUID} || true | |
33 | rmdir ${frzpath}/${UUID} || true | |
34 | mkdir ${cpupath}/${UUID} | |
35 | mkdir ${mempath}/${UUID} | |
36 | mkdir ${frzpath}/${UUID} | |
b4a2f20a | 37 | |
754c2080 SH |
38 | # Check that the fs is readable |
39 | for p in ${mempath} ${frzpath} ${cpupath}; do | |
40 | find ${p} > /dev/null | |
e5e7d255 | 41 | echo 1 > ${p}/${UUID}/tasks |
754c2080 SH |
42 | done |
43 | ||
44 | # set values though lxcfs | |
e5e7d255 SG |
45 | echo $((1024*1024)) > ${LXCFSDIR}/cgroup/memory/${initmemory}/${UUID}/memory.limit_in_bytes |
46 | echo 0 > ${LXCFSDIR}/cgroup/cpuset/${initcpuset}/${UUID}/cpuset.cpus | |
754c2080 SH |
47 | |
48 | # and verify them through cgroupfs | |
e5e7d255 | 49 | v=`cat $mempath/${UUID}/memory.limit_in_bytes` |
754c2080 | 50 | [ "$v" = "$((1024*1024))" ] |
e5e7d255 | 51 | v=`cat ${cpupath}/${UUID}/cpuset.cpus` |
754c2080 | 52 | [ "$v" = "0" ] |
b4a2f20a SG |
53 | |
54 | PASS=1 | |
55 | echo PASS |