[systemd-commits] 2 commits - Makefile.am src/shared

Lennart Poettering lennart at kemper.freedesktop.org
Tue Oct 1 19:59:39 PDT 2013


 Makefile.am               |    7 +---
 src/shared/cgroup-label.c |   80 ----------------------------------------------
 src/shared/cgroup-util.c  |   41 +++++++++++++++++++++++
 3 files changed, 44 insertions(+), 84 deletions(-)

New commits:
commit 1434ae6fd49f8377b0ddbd4c675736e0d3226ea6
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Oct 2 04:54:07 2013 +0200

    cgroup: there's no point in labelling cgroupfs dirs, so let's not do that
    
    This allows us to get rid of the dep on libsystemd-label for cgroup
    management.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=69966

diff --git a/Makefile.am b/Makefile.am
index 4570e18..8d9c587 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -767,7 +767,6 @@ noinst_LTLIBRARIES += \
 	libsystemd-label.la
 
 libsystemd_label_la_SOURCES = \
-	src/shared/cgroup-label.c \
 	src/shared/socket-label.c \
 	src/shared/label.c \
 	src/shared/label.h \
diff --git a/src/shared/cgroup-label.c b/src/shared/cgroup-label.c
deleted file mode 100644
index bae0a62..0000000
--- a/src/shared/cgroup-label.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-/***
-  This file is part of systemd.
-
-  Copyright 2010 Lennart Poettering
-
-  systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU Lesser General Public License as published by
-  the Free Software Foundation; either version 2.1 of the License, or
-  (at your option) any later version.
-
-  systemd is distributed in the hope that it will be useful, but
-  WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public License
-  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#include <errno.h>
-#include <unistd.h>
-#include <signal.h>
-#include <string.h>
-#include <stdlib.h>
-#include <dirent.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <ftw.h>
-
-#include "cgroup-util.h"
-#include "log.h"
-#include "set.h"
-#include "macro.h"
-#include "util.h"
-#include "mkdir.h"
-
-/* This is split out since it needs label calls, either directly or
- * indirectly. */
-
-int cg_create(const char *controller, const char *path) {
-        _cleanup_free_ char *fs = NULL;
-        int r;
-
-        r = cg_get_path_and_check(controller, path, NULL, &fs);
-        if (r < 0)
-                return r;
-
-        r = mkdir_parents_prefix_label("/sys/fs/cgroup", fs, 0755);
-        if (r < 0)
-                return r;
-
-        if (mkdir(fs, 0755) < 0) {
-
-                if (errno == EEXIST)
-                        return 0;
-
-                return -errno;
-        }
-
-        return 1;
-}
-
-int cg_create_and_attach(const char *controller, const char *path, pid_t pid) {
-        int r, q;
-
-        assert(pid >= 0);
-
-        r = cg_create(controller, path);
-        if (r < 0)
-                return r;
-
-        q = cg_attach(controller, path, pid);
-        if (q < 0)
-                return q;
-
-        /* This does not remove the cgroup on failure */
-        return r;
-}
diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c
index f57f2b2..8a4edda 100644
--- a/src/shared/cgroup-util.c
+++ b/src/shared/cgroup-util.c
@@ -39,6 +39,7 @@
 #include "unit-name.h"
 #include "fileio.h"
 #include "special.h"
+#include "mkdir.h"
 
 int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) {
         _cleanup_free_ char *fs = NULL;
@@ -618,6 +619,46 @@ int cg_delete(const char *controller, const char *path) {
         return r == -ENOENT ? 0 : r;
 }
 
+int cg_create(const char *controller, const char *path) {
+        _cleanup_free_ char *fs = NULL;
+        int r;
+
+        r = cg_get_path_and_check(controller, path, NULL, &fs);
+        if (r < 0)
+                return r;
+
+        r = mkdir_parents(fs, 0755);
+        if (r < 0)
+                return r;
+
+        if (mkdir(fs, 0755) < 0) {
+
+                if (errno == EEXIST)
+                        return 0;
+
+                return -errno;
+        }
+
+        return 1;
+}
+
+int cg_create_and_attach(const char *controller, const char *path, pid_t pid) {
+        int r, q;
+
+        assert(pid >= 0);
+
+        r = cg_create(controller, path);
+        if (r < 0)
+                return r;
+
+        q = cg_attach(controller, path, pid);
+        if (q < 0)
+                return q;
+
+        /* This does not remove the cgroup on failure */
+        return r;
+}
+
 int cg_attach(const char *controller, const char *path, pid_t pid) {
         _cleanup_free_ char *fs = NULL;
         char c[DECIMAL_STR_MAX(pid_t) + 2];

commit fbd8ebddbe43f55f76d6d6dc681b342ca2dd4376
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Oct 2 04:52:48 2013 +0200

    build-sys: mkdir.[ch] should be in libsystemd-shared
    
    Otherwise, why is mkdir-label.[ch] split out?

diff --git a/Makefile.am b/Makefile.am
index 7785865..4570e18 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -721,7 +721,9 @@ libsystemd_shared_la_SOURCES = \
 	src/shared/acpi-fpdt.c \
 	src/shared/boot-timestamps.h \
 	src/shared/boot-timestamps.c \
-	src/shared/refcnt.h
+	src/shared/refcnt.h \
+	src/shared/mkdir.c \
+	src/shared/mkdir.h
 
 #-------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -771,9 +773,7 @@ libsystemd_label_la_SOURCES = \
 	src/shared/label.h \
 	src/shared/selinux-util.c \
 	src/shared/selinux-util.h \
-	src/shared/mkdir.c \
 	src/shared/mkdir-label.c \
-	src/shared/mkdir.h \
 	src/shared/ask-password-api.c \
 	src/shared/ask-password-api.h \
 	src/shared/fileio-label.c \



More information about the systemd-commits mailing list