diff options
Diffstat (limited to 'xi/s6/scripts/mount-cgroups')
| -rwxr-xr-x | xi/s6/scripts/mount-cgroups | 120 | 
1 files changed, 0 insertions, 120 deletions
diff --git a/xi/s6/scripts/mount-cgroups b/xi/s6/scripts/mount-cgroups deleted file mode 100755 index fd711a0..0000000 --- a/xi/s6/scripts/mount-cgroups +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh - -CGROUP_OPTS=nodev,noexec,nosuid -CGROUP_MODE=$1 -CGROUP_CONTROLLERS=$2 -HAVE_CONTROLLER1_GROUPS=$3 - -#if [ $CGROUP_CONTROLLERS = "none" ]; then -#    CGROUP_CONTROLLERS="" -#fi - -cgroup2_find_path() { -    if grep -qw cgroup2 /proc/filesystems; then -        case "${CGROUP_MODE}" in -            hybrid) printf "/sys/fs/cgroup/unified" ;; -            unified) printf "/sys/fs/cgroup" ;; -        esac -    fi -    return 0 -} - -cgroup1_base() { -    grep -qw cgroup /proc/filesystems || return 0 -    if ! mountpoint -q /sys/fs/cgroup; then -        local opts="${CGROUP_OPTS},mode=755,size=${rc_cgroupsize:-10m}" -        mount -n -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup -    fi - -    if ! mountpoint -q /sys/fs/cgroup/openrc; then -        local agent="/etc/s6/sv/mount-cgroups/cgroup-release-agent.sh" -        mkdir /sys/fs/cgroup/openrc -        mount -n -t cgroup -o none,${CGROUP_OPTS},name=openrc,release_agent="$agent" openrc /sys/fs/cgroup/openrc -        printf 1 > /sys/fs/cgroup/openrc/notify_on_release -    fi -    return 0 -} - -cgroup1_controllers() { -    ${HAVE_CONTROLLER1_GROUPS} && [ -e /proc/cgroups ]  && grep -qw cgroup /proc/filesystems || return 0 -    while read -r name _ _ enabled _; do -        case "${enabled}" in -            1)	if mountpoint -q "/sys/fs/cgroup/${name}";then continue;fi -                local x -                for x in $CGROUP_CONTROLLERS; do -                    [ "${name}" = "blkio" ] && [ "${x}" = "io" ] && -                        continue 2 -                    [ "${name}" = "${x}" ] && -                    continue 2 -                done -                mkdir "/sys/fs/cgroup/${name}" -                mount -n -t cgroup -o "${CGROUP_OPTS},${name}" "${name}" "/sys/fs/cgroup/${name}" -            ;; -        esac -    done < /proc/cgroups -    return 0 -} - -cgroup2_base() { -    grep -qw cgroup2 /proc/filesystems || return 0 -    local base -    base="$(cgroup2_find_path)" -    mkdir -p "${base}" -    mount -t cgroup2 none -o "${CGROUP_OPTS},nsdelegate" "${base}" 2> /dev/null || -        mount -t cgroup2 none -o "${CGROUP_OPTS}" "${base}" -    return 0 -} - -cgroup2_controllers() { -    grep -qw cgroup2 /proc/filesystems || return 0 -    local active cgroup_path x y -    cgroup_path="$(cgroup2_find_path)" -    [ -z "${cgroup_path}" ] && return 0 -    [ -e "${cgroup_path}/cgroup.controllers" ] && read -r active < "${cgroup_path}/cgroup.controllers" -    for x in ${CGROUP_CONTROLLERS}; do -        for y in ${active}; do -            [ "$x" = "$y" ] && [ -e "${cgroup_path}/cgroup.subtree_control" ] && -            echo "+${x}"  > "${cgroup_path}/cgroup.subtree_control" -        done -    done -    return 0 -} - -cgroups_hybrid() { -    cgroup1_base -    cgroup2_base -    cgroup2_controllers -    cgroup1_controllers -    return 0 -} - -cgroups_legacy() { -    cgroup1_base -    cgroup1_controllers -    return 0 -} - -cgroups_unified() { -    cgroup2_base -    cgroup2_controllers -    return 0 -} - -mount_cgroups() { -    case "${CGROUP_MODE}" in -        hybrid) cgroups_hybrid ;; -        legacy) cgroups_legacy ;; -        unified) cgroups_unified ;; -    esac -    return 0 -} - -mount_cgs() { -    if [ -d /sys/fs/cgroup ];then -        mount_cgroups -        return 0 -    fi -    return 1 -} - -mount_cgs  | 
