chiark / gitweb /
cgroup: don't require debug cgroup controller anymore, use name hierarchy instead
authorLennart Poettering <lennart@poettering.net>
Mon, 17 May 2010 21:54:44 +0000 (23:54 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 17 May 2010 21:54:44 +0000 (23:54 +0200)
Makefile.am
configure.ac
src/cgroup.c
src/mount-setup.c

index f67f22d..65ab133 100644 (file)
@@ -406,7 +406,8 @@ install-data-hook:
                $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
                $(DESTDIR)$(pkgsysconfdir)/session \
                $(DESTDIR)$(sysconfdir)/xdg/systemd
-       $(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/debug || echo "Don't forget to create /cgroup/debug! Couldn't create it for you, continuing anyway."
+       $(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/systemd || \
+               echo "Don't forget to create /cgroup/systemd! Couldn't create it for you, continuing anyway."
        ( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
                rm -f session && \
                $(LN_S) $(pkgsysconfdir)/session session )
index b562c00..20024e6 100644 (file)
@@ -104,6 +104,10 @@ PKG_CHECK_MODULES(DBUSGLIB, [ dbus-glib-1 ])
 AC_SUBST(DBUSGLIB_CFLAGS)
 AC_SUBST(DBUSGLIB_LIBS)
 
+PKG_CHECK_MODULES(CGROUP, [ libcgroup >= 0.36 ])
+AC_SUBST(CGROUP_CFLAGS)
+AC_SUBST(CGROUP_LIBS)
+
 have_gtk=no
 AC_ARG_ENABLE(gtk, AS_HELP_STRING([--disable-gtk], [disable GTK tools]))
 if test "x$enable_gtk" != "xno"; then
@@ -117,25 +121,6 @@ if test "x$enable_gtk" != "xno"; then
 fi
 AM_CONDITIONAL(HAVE_GTK, [test "$have_gtk" = "yes"])
 
-PKG_CHECK_MODULES( CGROUP, [ libcgroup >= 0.35 ], [], [
-        AC_CHECK_HEADER( [libcgroup.h], [], [AC_MSG_ERROR([*** libcgroup.h not found])], )
-        save_CPPFLAGS="$CPPFLAGS"
-        save_LIBS="$LIBS"
-        CGROUP_LIBS=${CGROUP_LIBS:--lcgroup}
-        LIBS="$LIBS $CGROUP_LIBS"
-        CPPFLAGS="$CPPFLAGS $CGROUP_CFLAGS"
-        AC_MSG_CHECKING([for libcgroup >= 0.35])
-        AC_LINK_IFELSE(
-                [AC_LANG_PROGRAM([[#include <libcgroup.h>]], [[ CGFLAG_DELETE_RECURSIVE; cgroup_init(); ]])],
-                [AC_MSG_RESULT([yes])],
-                [AC_MSG_RESULT([no]); AC_MSG_ERROR([*** systemd needs libcgroup 0.35 or newer])],
-                [${CGROUP_LIBS}])
-        CPPFLAGS="$save_CPPFLAGS"
-        LIBS="$save_LIBS"
-])
-AC_SUBST(CGROUP_CFLAGS)
-AC_SUBST(CGROUP_LIBS)
-
 AM_PROG_VALAC([0.8])
 AC_SUBST(VAPIDIR)
 
index 301fc94..56529eb 100644 (file)
@@ -422,7 +422,7 @@ int manager_setup_cgroup(Manager *m) {
         }
 
         free(m->cgroup_controller);
-        if (!(m->cgroup_controller = strdup("debug")))
+        if (!(m->cgroup_controller = strdup("name=systemd")))
                 return -ENOMEM;
 
         if ((r = cgroup_get_subsys_mount_point(m->cgroup_controller, &mp)))
index cb91e18..e4f2b73 100644 (file)
@@ -42,15 +42,15 @@ typedef struct MountPoint {
 } MountPoint;
 
 static const MountPoint mount_table[] = {
-        { "proc",        "/proc",                    "proc",        NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
-        { "sysfs",       "/sys",                     "sysfs",       NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
-        { "devtmps",     "/dev",                     "devtmpfs",    "mode=755",  MS_NOSUID,                    true },
-        { "tmpfs",       "/dev/shm",                 "tmpfs",       "mode=1777", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
-        { "devpts",      "/dev/pts",                 "devpts",      NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
-        { "cgroup",      "/cgroup/debug",            "cgroup",      "debug",     MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
-        { "debugfs",     "/sys/kernel/debug",        "debugfs",     NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
-        { "binfmt_misc", "/proc/sys/fs/binfmt_misc", "binfmt_misc", NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
-        { "mqueue",      "/dev/mqueue",              "mqueue",      NULL,        MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
+        { "proc",        "/proc",                    "proc",        NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
+        { "sysfs",       "/sys",                     "sysfs",       NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
+        { "devtmps",     "/dev",                     "devtmpfs",    "mode=755",          MS_NOSUID,                    true },
+        { "tmpfs",       "/dev/shm",                 "tmpfs",       "mode=1777",         MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
+        { "devpts",      "/dev/pts",                 "devpts",      NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
+        { "cgroup",      "/cgroup/systemd",          "cgroup",      "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
+        { "debugfs",     "/sys/kernel/debug",        "debugfs",     NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
+        { "binfmt_misc", "/proc/sys/fs/binfmt_misc", "binfmt_misc", NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
+        { "mqueue",      "/dev/mqueue",              "mqueue",      NULL,                MS_NOSUID|MS_NOEXEC|MS_NODEV, false },
 };
 
 bool mount_point_is_api(const char *path) {