[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