Compare commits
1 Commits
cgroup-nam
...
artix-meso
| Author | SHA1 | Date | |
|---|---|---|---|
| 18d9f0c807 |
@@ -201,9 +201,6 @@ rc_tty_number=12
|
||||
# "unified" mounts cgroups version 2 on /sys/fs/cgroup
|
||||
#rc_cgroup_mode="unified"
|
||||
|
||||
# override cgroup controller name
|
||||
#rc_cgroup_name=openrc
|
||||
|
||||
# This is a list of controllers which should be enabled for cgroups version 2
|
||||
# when hybrid mode is being used.
|
||||
# Controllers listed here will not be available for cgroups version 1.
|
||||
|
||||
@@ -13,8 +13,6 @@ description="Mount the control groups."
|
||||
|
||||
: "${cgroup_opts:="nodev,noexec,nosuid"}"
|
||||
|
||||
rc_cgroup_name=${rc_cgroup_name:-openrc}
|
||||
|
||||
depend()
|
||||
{
|
||||
keyword -docker -prefix -systemd-nspawn -vserver
|
||||
@@ -31,13 +29,13 @@ cgroup1_base()
|
||||
eend $?
|
||||
fi
|
||||
|
||||
if ! mountinfo -q /sys/fs/cgroup/"${rc_cgroup_name}"; then
|
||||
if ! mountinfo -q /sys/fs/cgroup/openrc; then
|
||||
local agent="${RC_LIBEXECDIR}/sh/cgroup-release-agent.sh"
|
||||
mkdir /sys/fs/cgroup/"${rc_cgroup_name}"
|
||||
mkdir /sys/fs/cgroup/openrc
|
||||
mount -n -t cgroup \
|
||||
-o none,${cgroup_opts},name="${rc_cgroup_name}",release_agent="$agent" \
|
||||
"${rc_cgroup_name}" /sys/fs/cgroup/"${rc_cgroup_name}"
|
||||
printf 1 > /sys/fs/cgroup/"${rc_cgroup_name}"/notify_on_release
|
||||
-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
|
||||
}
|
||||
@@ -76,7 +74,6 @@ cgroup2_base()
|
||||
mkdir -p "${base}"
|
||||
mount -t cgroup2 none -o "${cgroup_opts},nsdelegate" "${base}" 2> /dev/null ||
|
||||
mount -t cgroup2 none -o "${cgroup_opts}" "${base}"
|
||||
mkdir -p ${base}/"${rc_cgroup_name}"
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -84,7 +81,7 @@ cgroup2_controllers()
|
||||
{
|
||||
grep -qw cgroup2 /proc/filesystems || return 0
|
||||
local active cgroup_path x y
|
||||
cgroup_path="$(cgroup2_find_path)/${rc_cgroup_name}"
|
||||
cgroup_path="$(cgroup2_find_path)"
|
||||
[ -z "${cgroup_path}" ] && return 0
|
||||
[ ! -e "${cgroup_path}/cgroup.controllers" ] && return 0
|
||||
[ ! -e "${cgroup_path}/cgroup.subtree_control" ]&& return 0
|
||||
|
||||
@@ -95,7 +95,7 @@ if os == 'Linux' and libexecdir == 'libexec'
|
||||
libexecdir = 'lib'
|
||||
endif
|
||||
libexecdir = rootprefix / libexecdir
|
||||
rc_libexecdir = libexecdir / 'rc'
|
||||
rc_libexecdir = libexecdir / get_option('librcdir')
|
||||
rc_bindir = rc_libexecdir / 'bin'
|
||||
rc_sbindir = rc_libexecdir / 'sbin'
|
||||
rc_shdir = rc_libexecdir / 'sh'
|
||||
|
||||
@@ -30,3 +30,5 @@ option('sysvinit', type : 'boolean', value : false,
|
||||
description : 'enable SysVinit compatibility (linux only)')
|
||||
option('zsh-completions', type : 'boolean',
|
||||
description : 'install zsh completions')
|
||||
option('librcdir', type : 'string', value : 'rc',
|
||||
description : 'default location of rc libexec dir')
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
# This file may not be copied, modified, propagated, or distributed
|
||||
# except according to the terms contained in the LICENSE file.
|
||||
|
||||
cgroup=/sys/fs/cgroup/"${rc_cgroup_name:-openrc}"
|
||||
cgroup=/sys/fs/cgroup/openrc
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||
if [ -d ${cgroup}/"$1" ]; then
|
||||
rmdir ${cgroup}/"$1"
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
extra_stopped_commands="${extra_stopped_commands} cgroup_cleanup"
|
||||
description_cgroup_cleanup="Kill all processes in the cgroup"
|
||||
|
||||
cg2_sv_name="${RC_SVCNAME}.sv"
|
||||
|
||||
cgroup_find_path()
|
||||
{
|
||||
local OIFS name dir result
|
||||
@@ -37,9 +35,9 @@ cgroup_get_pids()
|
||||
cgroup_pids=
|
||||
cgroup_procs="$(cgroup2_find_path)"
|
||||
if [ -n "${cgroup_procs}" ]; then
|
||||
cgroup_procs="${cgroup_procs}/${rc_cgroup_name}/${cg2_sv_name}/cgroup.procs"
|
||||
cgroup_procs="${cgroup_procs}/openrc.${RC_SVCNAME}/cgroup.procs"
|
||||
else
|
||||
cgroup_procs="/sys/fs/cgroup/"${rc_cgroup_name}"/${RC_SVCNAME}/tasks"
|
||||
cgroup_procs="/sys/fs/cgroup/openrc/${RC_SVCNAME}/tasks"
|
||||
fi
|
||||
[ -f "${cgroup_procs}" ] || return 0
|
||||
while read -r p; do
|
||||
@@ -53,7 +51,7 @@ cgroup_running()
|
||||
{
|
||||
[ -d "/sys/fs/cgroup/unified/${RC_SVCNAME}" ] ||
|
||||
[ -d "/sys/fs/cgroup/${RC_SVCNAME}" ] ||
|
||||
[ -d "/sys/fs/cgroup/"${rc_cgroup_name}"/${RC_SVCNAME}" ]
|
||||
[ -d "/sys/fs/cgroup/openrc/${RC_SVCNAME}" ]
|
||||
}
|
||||
|
||||
cgroup_set_values()
|
||||
@@ -63,7 +61,7 @@ cgroup_set_values()
|
||||
local controller h
|
||||
controller="$1"
|
||||
h=$(cgroup_find_path "$1")
|
||||
cgroup="/sys/fs/cgroup/${1}${h}"${rc_cgroup_name}"_${RC_SVCNAME}"
|
||||
cgroup="/sys/fs/cgroup/${1}${h}openrc_${RC_SVCNAME}"
|
||||
[ -d "$cgroup" ] || mkdir -p "$cgroup"
|
||||
|
||||
set -- $2
|
||||
@@ -110,7 +108,7 @@ cgroup_add_service()
|
||||
[ -w "${d}"/tasks ] && printf "%d" 0 > "${d}"/tasks
|
||||
done
|
||||
|
||||
openrc_cgroup=/sys/fs/cgroup/"${rc_cgroup_name}"
|
||||
openrc_cgroup=/sys/fs/cgroup/openrc
|
||||
if [ -d "$openrc_cgroup" ]; then
|
||||
cgroup="$openrc_cgroup/$RC_SVCNAME"
|
||||
mkdir -p "$cgroup"
|
||||
@@ -169,7 +167,7 @@ cgroup2_remove()
|
||||
local cgroup_path rc_cgroup_path
|
||||
cgroup_path="$(cgroup2_find_path)"
|
||||
[ -z "${cgroup_path}" ] && return 0
|
||||
rc_cgroup_path="${cgroup_path}/${rc_cgroup_name}/${cg2_sv_name}"
|
||||
rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}"
|
||||
[ ! -d "${rc_cgroup_path}" ] ||
|
||||
[ ! -e "${rc_cgroup_path}"/cgroup.events ] &&
|
||||
return 0
|
||||
@@ -193,7 +191,7 @@ cgroup2_set_limits()
|
||||
cgroup_path="$(cgroup2_find_path)"
|
||||
[ -z "${cgroup_path}" ] && return 0
|
||||
mountinfo -q "${cgroup_path}"|| return 0
|
||||
rc_cgroup_path="${cgroup_path}/${rc_cgroup_name}/${cg2_sv_name}"
|
||||
rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}"
|
||||
[ ! -d "${rc_cgroup_path}" ] && mkdir "${rc_cgroup_path}"
|
||||
[ -f "${rc_cgroup_path}"/cgroup.procs ] &&
|
||||
printf 0 > "${rc_cgroup_path}"/cgroup.procs
|
||||
@@ -212,7 +210,7 @@ cgroup2_kill_cgroup() {
|
||||
local cgroup_path
|
||||
cgroup_path="$(cgroup2_find_path)"
|
||||
[ -z "${cgroup_path}" ] && return 1
|
||||
rc_cgroup_path="${cgroup_path}/${rc_cgroup_name}/${cg2_sv_name}"
|
||||
rc_cgroup_path="${cgroup_path}/openrc.${RC_SVCNAME}"
|
||||
if [ -f "${rc_cgroup_path}"/cgroup.kill ]; then
|
||||
printf "%d" 1 > "${rc_cgroup_path}"/cgroup.kill
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user