diff --git a/configure.ac b/configure.ac index c5c1b05c..2b9858ec 100644 --- a/configure.ac +++ b/configure.ac @@ -67,6 +67,10 @@ AC_ARG_ENABLE(fsckfix, AS_HELP_STRING([--enable-fsckfix], [Run fsck fix mode (options: -yf) on filesystems listed in /etc/fstab]),,[ enable_fsckfix=no]) +AC_ARG_ENABLE(cgroup, + AS_HELP_STRING([--disable-cgroup], [Disable cgroup v2 support, default: autodetect from /sys/fs/cgroup]),,[ + enable_cgroup=yes]) + AC_ARG_ENABLE(redirect, AS_HELP_STRING([--disable-redirect], [Disable redirection of service output to /dev/null]),,[ enable_redirect=yes]) @@ -188,6 +192,9 @@ AS_IF([test "x$enable_kernel_cmdline" = "xyes"], [ AS_IF([test "x$enable_kernel_logging" = "xyes"], [ AC_DEFINE(KERNEL_LOGGING, 1, [Keep kernel warn/err logs to console])]) +AS_IF([test "x$enable_cgroup" = "xyes"], [ + AC_DEFINE(CGROUP2_ENABLED, 1, [Autodetect cgroup v2 support from /sys/fs/cgroup])]) + AS_IF([test "x$enable_fastboot" = "xyes"], [ AC_DEFINE(FAST_BOOT, 1, [Skip fsck check on filesystems listed in /etc/fstab])]) @@ -388,6 +395,7 @@ Optional features: Built-in sulogin......: $with_sulogin $sulogin Built-in watchdogd....: $with_watchdog $watchdog Built-in logrotate....: $enable_logrotate + Use cgroup v2.........: $enable_cgroup Parse kernel cmdline..: $enable_kernel_cmdline Keep kernel logging...: $enable_kernel_logging Skip fsck check.......: $enable_fastboot diff --git a/src/cgroup.c b/src/cgroup.c index 31a0fc22..e184b62b 100644 --- a/src/cgroup.c +++ b/src/cgroup.c @@ -463,6 +463,11 @@ void cgroup_init(uev_ctx_t *ctx) FILE *fp; int fd; +#ifndef CGROUP2_ENABLED + avail = 0; + return; +#endif + if (mount("none", FINIT_CGPATH, "cgroup2", opts, NULL)) { if (errno == ENOENT) logit(LOG_INFO, "Kernel does not support cgroups v2, disabling.");