summaryrefslogtreecommitdiff
path: root/libcgroup-0.37.1-systemd.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libcgroup-0.37.1-systemd.patch')
-rw-r--r--libcgroup-0.37.1-systemd.patch194
1 files changed, 0 insertions, 194 deletions
diff --git a/libcgroup-0.37.1-systemd.patch b/libcgroup-0.37.1-systemd.patch
deleted file mode 100644
index 8512201..0000000
--- a/libcgroup-0.37.1-systemd.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-702111 - Starting LSB: start and stop the WLM configuration failed
-
- - cgconfigparser should not unmount stuff it did not mounted
- - cgconfigparser should accept empty config file
- - rename the service
-
-Backported these 3 pacthes:
-
-commit 7155cc27430619be5ffcf1ddc2b6bd8cf7d6d7e0
-Author: Dhaval Giani <dhaval.giani@gmail.com>
-Date: Fri May 27 10:36:19 2011 +0200
-
- cgconfig: Do not touch subsystems not mounted by cgconfig
-
- cgconfig: Do not touch subsystems not mounted by cgconfig
-
- In its failure path, cgconfig should only touch the subsystems
- it had something to do with. Currently, it unmounts all the
- subsystems in the config file. Correct this.
-
- Signed-off-by: Dhaval Giani <dhaval.giani@gmail.com>
- Signed-off-by: Jan Safranek <jsafrane@redhat.com>
-
-commit 431587f4e21b36a3f08bc595d716a70d70314e70
-Author: Jan Safranek <jsafrane@redhat.com>
-Date: Fri May 20 15:53:05 2011 +0200
-
- Updated cgconfig service descriptions
-
- Signed-off-by: Jan Safranek <jsafrane@redhat.com>
-
-commit 74e1b1e3d04c2f7999e367a20bf73396b61f9b64
-Author: Jan Safranek <jsafrane@redhat.com>
-Date: Fri May 20 15:52:58 2011 +0200
-
- Fixed cgconfigparser to allow configs with no 'mount' section
-
- cgconfig service fails when something else mounts cgroup hierarchies during
- boot (e.g. systemd). Therefore we should allow cgconfig.conf to have no
- 'mount' section -> it's up to admin to ensure that controllers are mounted as
- needed.
-
- Because 'group' section is already optional, with this patch cgconfigparser
- will accept empty configuration file. This is probably the best default
- config for distros with systemd.
-
- Changelog:
- - fixed case with empty config file and no mounted controllers
- - reworked the if conditions to be more clear
-
- Signed-off-by: Jan Safranek <jsafrane@redhat.com>
-
-diff -up libcgroup-0.37.1/doc/man/cgconfig.conf.5.systemd2 libcgroup-0.37.1/doc/man/cgconfig.conf.5
---- libcgroup-0.37.1/doc/man/cgconfig.conf.5.systemd2 2011-03-03 09:29:41.000000000 +0100
-+++ libcgroup-0.37.1/doc/man/cgconfig.conf.5 2011-05-30 15:06:45.083249011 +0200
-@@ -12,8 +12,8 @@ The file consists of
- .I mount
- and
- .I group
--sections. These sections can be in arbitrary order. Any line starting with
--'#' is considered as a comment line and is ignored.
-+sections. These sections can be in arbitrary order and both are optional.
-+Any line starting with '#' is considered as a comment line and is ignored.
- .LP
- .I mount
- section has this form:
-@@ -50,6 +50,11 @@ controller, shall be mounted. The direct
- automatically on cgconfig service startup if it does not exist and
- is deleted on service shutdown.
- .LP
-+
-+If no
-+.I mount
-+section is specified, no controllers are mounted.
-+
- .I group
- section has this form:
- .RS
-@@ -171,6 +176,10 @@ created. Optionally it can be enclosed i
- contain spaces then.
- .RE
-
-+If no
-+.I group
-+section is specified, no groups are created.
-+
- .\"********************************************"
- .SH EXAMPLES
- .LP
-diff -up libcgroup-0.37.1/scripts/init.d/cgconfig.in.systemd2 libcgroup-0.37.1/scripts/init.d/cgconfig.in
---- libcgroup-0.37.1/scripts/init.d/cgconfig.in.systemd2 2011-05-30 15:00:36.269947252 +0200
-+++ libcgroup-0.37.1/scripts/init.d/cgconfig.in 2011-05-30 15:00:36.284946695 +0200
-@@ -25,8 +25,8 @@
- # Required-Stop:
- # Should-Start:
- # Should-Stop:
--# Short-Description: start and stop the WLM configuration
--# Description: This script allows us to create a default configuration
-+# Short-Description: Create and setup control group filesystem(s)
-+# Description: Create and setup control group filesystem(s)
- ### END INIT INFO
-
- # get correct location of binaries from configure
-diff -up libcgroup-0.37.1/src/config.c.systemd2 libcgroup-0.37.1/src/config.c
---- libcgroup-0.37.1/src/config.c.systemd2 2011-03-03 09:29:41.000000000 +0100
-+++ libcgroup-0.37.1/src/config.c 2011-05-30 15:17:08.317101247 +0200
-@@ -394,6 +394,7 @@ static int cgroup_config_mount_fs(void)
- int ret;
- struct stat buff;
- int i;
-+ int error;
-
- for (i = 0; i < config_table_index; i++) {
- struct cg_mount_table_s *curr = &(config_mount_table[i]);
-@@ -402,26 +403,39 @@ static int cgroup_config_mount_fs(void)
-
- if (ret < 0 && errno != ENOENT) {
- last_errno = errno;
-- return ECGOTHER;
-+ error = ECGOTHER;
-+ goto out_err;
- }
-
- if (errno == ENOENT) {
- ret = cg_mkdir_p(curr->path);
-- if (ret)
-- return ret;
-+ if (ret) {
-+ error = ret;
-+ goto out_err;
-+ }
- } else if (!S_ISDIR(buff.st_mode)) {
- errno = ENOTDIR;
- last_errno = errno;
-- return ECGOTHER;
-+ error = ECGOTHER;
-+ goto out_err;
- }
-
- ret = mount(CGROUP_FILESYSTEM, curr->path, CGROUP_FILESYSTEM,
- 0, curr->name);
-
-- if (ret < 0)
-- return ECGMOUNTFAIL;
-+ if (ret < 0) {
-+ error = ECGMOUNTFAIL;
-+ goto out_err;
-+ }
- }
- return 0;
-+out_err:
-+ /*
-+ * If we come here, we have failed. Since we have touched only
-+ * mountpoints prior to i, we shall operate on only them now.
-+ */
-+ config_table_index = 1;
-+ return error;
- }
-
- /*
-@@ -681,24 +695,25 @@ int cgroup_config_load_config(const char
- mount_enabled = (config_mount_table[0].name[0] != '\0');
-
- /*
-- * The configuration should have either namespace or mount.
-- * Not both and not none.
-+ * The configuration should have namespace or mount, not both.
- */
-- if (namespace_enabled == mount_enabled) {
-+ if (namespace_enabled && mount_enabled) {
- free(config_cgroup_table);
- return ECGMOUNTNAMESPACE;
- }
-
-- /*
-- * We do not allow both mount and namespace sections in the
-- * same configuration file. So test for that
-- */
--
- error = cgroup_config_mount_fs();
- if (error)
- goto err_mnt;
-
- error = cgroup_init();
-+ if (error == ECGROUPNOTMOUNTED && cgroup_table_index == 0) {
-+ /*
-+ * The config file seems to be empty.
-+ */
-+ error = 0;
-+ goto err_mnt;
-+ }
- if (error)
- goto err_mnt;
-