]> git.ipfire.org Git - thirdparty/libcgroup.git/log
thirdparty/libcgroup.git
13 years agoman pages typos
Ivana Hutarova Varekova [Fri, 22 Jun 2012 08:36:13 +0000 (10:36 +0200)] 
man pages typos

    This patch fix typos in manual pages (cgclassify.1, cgconfig.conf.5, cgget.1, cgset.1, lscgroup.1)

    Changelog:
    cgget.1 - incorporate dhaval's feedback which -> whose

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years ago testsuite: fix cgclear call in testenv.sh II
Ivana Hutarova Varekova [Sat, 19 May 2012 19:34:01 +0000 (21:34 +0200)] 
testsuite: fix cgclear call in testenv.sh II

    This patch fixes cgclear call in testenv.sh
    In the previous version there is missing the patch.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotestsuite: runlibcgrouptest have to be configurable
Ivana Hutarova Varekova [Fri, 18 May 2012 16:18:36 +0000 (18:18 +0200)] 
testsuite: runlibcgrouptest have to be configurable

runlibcgrouptest have to set the path to config.h properly thus it have
to be configurable

CHANGELOG v1:
* remove obsolete TODO comment
* add runlibcgrouptest.sh to configure.in

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
13 years agotestsuite: wrong cgroup mount points parsing
Ivana Hutarova Varekova [Fri, 18 May 2012 15:59:01 +0000 (17:59 +0200)] 
testsuite: wrong cgroup mount points parsing

testsuite: runlibcgrouptest.sh has too benevolent mount points parsing
thus there are filtred other mount points (not only cgroup one) as well.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
13 years agotestsuite: incorporate OPAQUE_HIERARCHY
Ivana Hutarova Varekova [Fri, 18 May 2012 15:49:06 +0000 (17:49 +0200)] 
testsuite: incorporate OPAQUE_HIERARCHY

In present version of testsuite OPAQUE_HIERARCHY variable is ignored,
thus testsuite is broken in systems where OPAQUE_HIERARCHY is nonempty. The patch fix this problem.

CHANGELOG v1:
* use ^cgroup instead of cgroup in grep (otherwise it counts also tmpfs /sys/fs/cgroup)
* remove obsolete IS_OPAQUE variable

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
13 years agocgcreate.1: -s option problem
Ivana Hutarova Varekova [Sat, 12 May 2012 16:21:10 +0000 (18:21 +0200)] 
cgcreate.1: -s option problem

cgcreate.1 man page have bogus -s description this patch fixes it

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
13 years agoFrom: Ivana Hutarova Varekova <varekova@redhat.com>
Ivana Hutarova Varekova [Thu, 10 May 2012 05:07:41 +0000 (07:07 +0200)] 
From: Ivana Hutarova Varekova <varekova@redhat.com>

lscgroup: fix path name trimming

lscgroup tool in display_controller_data procedure trimmed relative path
name too strictly, thus if the path have no leading "/" sign then the first
character was trimmed too.

More precisely the relative path is taken from the full path - path to the
controller root and relative path given on command line (with all
characters "/") + character "/" at the end of path. The length of suffix
which describe relative path is count from trimmed relative path given on
command line (without characters "/" at the beginning and at the end).
There have to be used the same relative path in both cases and -1 to the
length.

CHANGELOG v1:
* more detailed description
* fix the problem with "/" sign at the end of path too

EXAMPLE
without the patch:
$ lscgroup freezer:libvirt
freezer:/ibvirt/
freezer:/ibvirt/lxc
freezer:/ibvirt/qemu

with the patch:
$ lscgroup freezer:libvirt
freezer:/libvirt/
freezer:/libvirt/lxc
freezer:/libvirt/qemu

this patch fixes the problem.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek<jsafrane@redhat.com>
13 years agocgcreate: --help patch
Ivana Hutarova Varekova [Tue, 8 May 2012 16:56:35 +0000 (18:56 +0200)] 
cgcreate: --help patch

this patch adds missing "," character to --help output

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgclear: missing indentation in -h output
Ivana Hutarova Varekova [Tue, 8 May 2012 16:26:53 +0000 (18:26 +0200)] 
cgclear: missing indentation in -h output

added missing indentation to -h output of cgclear tool

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agoRemove unused error code ECGSENTINEL - it was used for test whether error
Ivana Hutarova Varekova [Sun, 6 May 2012 10:59:50 +0000 (12:59 +0200)] 
Remove unused error code ECGSENTINEL - it was used for test whether error
code is in valid interval, now it is unused.

Changelog:
* let the next error have the same number as before the change, not to
break ABI

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agoRemoved unused variable ‘cgroup_dir_path’ in lscgroup
Ivana Hutarova Varekova [Fri, 4 May 2012 05:20:19 +0000 (07:20 +0200)] 
Removed  unused variable ‘cgroup_dir_path’ in lscgroup
in function ‘display_controller_data’.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
Reviewed-by: Balbir Singh <bsingharora@gmail.com>
13 years agoapi.c: remove obsolete error message
Ivana Hutarova Varekova [Wed, 2 May 2012 17:57:34 +0000 (19:57 +0200)] 
api.c: remove obsolete error message

Remove forgotten error message which break error code <-> message
mapping

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotestsuite: fix cgclear call in testenv.sh
Ivana Hutarova Varekova [Wed, 2 May 2012 17:49:46 +0000 (19:49 +0200)] 
testsuite: fix cgclear call in testenv.sh

This patch fixes cgclear call in testenv.sh

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotestsuite: fix wrong lssubsys call
Ivana Hutarova Varekova [Wed, 2 May 2012 17:41:04 +0000 (19:41 +0200)] 
testsuite: fix wrong lssubsys call

cgconfigparser_simple tool call lssubsys command without TOOLSDIR prefix

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolscgroup: removed unused variable
Ivana Hutarova Varekova [Wed, 2 May 2012 17:19:50 +0000 (19:19 +0200)] 
lscgroup: removed unused variable

Removed  unused variable ‘cgroup_dir_path’ in lscgroup
in function ‘display_controller_data’.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agov0.38.rc1 release
Jan Safranek [Fri, 3 Feb 2012 15:56:44 +0000 (16:56 +0100)] 
v0.38.rc1 release

13 years agoUpdated release process documentation.
Jan Safranek [Fri, 3 Feb 2012 15:48:38 +0000 (16:48 +0100)] 
Updated release process documentation.

Added a note about git shortlog, I keep forgetting the command.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agoAdd README_systemd to release
Jan Safranek [Fri, 3 Feb 2012 15:02:26 +0000 (16:02 +0100)] 
Add README_systemd to release

README_systemd should be part of libcgroup-0.38.tar.bz2 release.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotests: added missing files to Makefile.am
Jan Safranek [Fri, 3 Feb 2012 14:03:54 +0000 (15:03 +0100)] 
tests: added missing files to Makefile.am

Some files were missing in our Makefiles and 'make dist'
did not include them in released .tar.bz2.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Fixed cgroup_strerror() typo.
Jan Safranek [Thu, 15 Dec 2011 14:45:47 +0000 (15:45 +0100)] 
libcgroup: Fixed cgroup_strerror() typo.

Adding missing comma to list of error messages.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agoLibcgroup: added cgconfig.service unit for systemd.
Jan Safranek [Thu, 15 Dec 2011 13:55:51 +0000 (14:55 +0100)] 
Libcgroup: added cgconfig.service unit for systemd.

The cgconfig.service unit file should create all groups in
/etc/cgconfig.conf and (if not overriden in the config file) with sticky
bit on their tasks file. On service stop, only control groups specified in the
config file are cleared and only if they are empty (i.e. no subgroups and no
processes inside).

Please review carefully, especially the ordering. I want the service to
start as early as possible, but not before local filesystem is ready.

Changelog:
 - updated After/Before dependencies

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Added README_systemd file.
Jan Safranek [Thu, 15 Dec 2011 13:55:43 +0000 (14:55 +0100)] 
libcgroup: Added README_systemd file.

New documentation file is added. It should describe how systemd and
libcgroup should work together and how to configure a system to have
control groups created by libcgroup's cgconfig service.

I'm going to install this README into /usr/share/doc/libcgroup-*/.

I know I am not Shakespeare and also English is not my mother language, feel
free to comment also the style and grammar. Missing/wrong articles is my
speciality :).

Changelog:
  - updated with review remarks from Martin Prpic and Kevin Constantine

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Added compile-time option to ignore certain hierarchies (e.g. systemd).
Jan Safranek [Fri, 9 Dec 2011 14:05:02 +0000 (15:05 +0100)] 
libcgroup: Added compile-time option to ignore certain hierarchies (e.g. systemd).

Libcgroup should not mess up with systemd 'name=systemd' hierarchy. Let's
add ./configure option to ignore it on distros, which use it.

Only one hierarchy can be ignored, at least at this time, further
enhancement is possible.

Usage:
$ configure --enable-opaque-hierarchy="name=systemd"

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgconfigparser: Added 'default' section documentation to cgconfig.conf man.
Jan Safranek [Fri, 9 Dec 2011 14:04:48 +0000 (15:04 +0100)] 
cgconfigparser: Added 'default' section documentation to cgconfig.conf man.

Add documentation of the new section to cgconfig.conf(5).

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgcreate, cgconfigparser: Fixed help and documentation style.
Jan Safranek [Fri, 9 Dec 2011 14:04:41 +0000 (15:04 +0100)] 
cgcreate, cgconfigparser: Fixed help and documentation style.

Rephrase the documentation to common style and fix minor typos.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgcreate, cgconfigparser: Added new parameter for tasks file permissions.
Jan Safranek [Fri, 9 Dec 2011 14:04:33 +0000 (15:04 +0100)] 
cgcreate, cgconfigparser: Added new parameter for tasks file permissions.

So far cgcreate and cgconfigparser have -f option, which sets permissions
of all files in a group, incl. tasks file. Since we need to put sticky bit
on the tasks file for systemd, this patch adds -s option for this purpose.

The tests are also updated with this change.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgcreate, cgconfigparser: Fixed permissions when only one of '-f' and '-d' is set.
Jan Safranek [Fri, 9 Dec 2011 14:04:24 +0000 (15:04 +0100)] 
cgcreate, cgconfigparser: Fixed permissions when only one of '-f' and '-d' is set.

When only one of '-f' and '-d' is set, the other is set automatically to
zero and nobody then has the rights to read/modify a group or group's
parameters.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotests: Fixed tests for cgclear -e
Jan Safranek [Fri, 9 Dec 2011 14:04:17 +0000 (15:04 +0100)] 
tests: Fixed tests for cgclear -e

Previous patch fixed exit code of cgclear -e, but I forgot to update the
tests. Here is a fix.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgclear: fixed exit code with -e option
Jan Safranek [Tue, 6 Dec 2011 15:06:58 +0000 (16:06 +0100)] 
cgclear: fixed exit code with -e option

cgclear -e is supposed to clear only empty groups. This works fine, but
when a non-empty group is being cleared, cgclear displays an error and
returns nozero exit code.

It should be silent and return zero exit code, because stumbling upon a
nonempty group is perfectly fine and not an error.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: added new error code when removing non-empty group.
Jan Safranek [Tue, 6 Dec 2011 15:06:50 +0000 (16:06 +0100)] 
libcgroup: added new error code when removing non-empty group.

ECGNONEMPTY error code is returned by cgroup_delete_cgroup_ext when it
should remove only empty groups, but the group(s) were not empty.

It's not a real error, it's just an indication that some groups were not
removed - it's perfectly valid use case.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agoscripts: cgconfig, wait for ypbind
Jiri Slaby [Wed, 23 Nov 2011 15:35:42 +0000 (16:35 +0100)] 
scripts: cgconfig, wait for ypbind

This is to allow username from an NIS service to work with cgconfig
properly.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
13 years agotests: Added tests for cgconfigparser witg -f, -d, -a and -t options.
Jan Safranek [Wed, 30 Nov 2011 14:42:58 +0000 (15:42 +0100)] 
tests: Added tests for cgconfigparser witg -f, -d, -a and -t options.

Added new tests to check cgconfigparser with the new options.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotools: Fixed parsing of SUID/SGID/sticky bits in -t and -a options.
Jan Safranek [Wed, 30 Nov 2011 14:42:50 +0000 (15:42 +0100)] 
tools: Fixed parsing of SUID/SGID/sticky bits in -t and -a options.

Add support of 4-character octal numbers in parse_mode().

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgconfigparser: Added options to set default owners/permissions.
Jan Safranek [Wed, 30 Nov 2011 14:42:43 +0000 (15:42 +0100)] 
cgconfigparser: Added options to set default owners/permissions.

Based on cgcreate arguments, cgconfigparser now has command line arguments
to set default permissions of groups and files created by it.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Added cgroup_config_set_default() function.
Jan Safranek [Wed, 30 Nov 2011 14:42:36 +0000 (15:42 +0100)] 
libcgroup: Added cgroup_config_set_default() function.

With cgroup_config_set_default() can an application set default permissions
of groups and files created by cgroup_config_load_config(). See the
documentation of the function.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotools: Added parse_mode() and parse_uid_gid() to tools_common.c.
Jan Safranek [Wed, 30 Nov 2011 14:42:29 +0000 (15:42 +0100)] 
tools: Added parse_mode() and parse_uid_gid() to tools_common.c.

The parse_mode() function will be used by cgconfigparser, so move it there.
In addition, the cgconfigparser will need uid:gid parsing routines from
cgcreate.c, so move it to common code as well.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotests: Added tests for default permissions.
Jan Safranek [Wed, 30 Nov 2011 14:42:22 +0000 (15:42 +0100)] 
tests: Added tests for default permissions.

Here are few tests for config file with default permissions, including
setting SUID, SGID and sticky bits to files/directories.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotests: Added checks for UID and GID in permission test.
Jan Safranek [Wed, 30 Nov 2011 14:42:15 +0000 (15:42 +0100)] 
tests: Added checks for UID and GID in permission test.

We should check also if cgconfigparser sets correct UID/GID on
files/directories it creates.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgconfigparser: Allow SUID and SGID permissions in 'fperm' and 'dperm' options.
Jan Safranek [Wed, 30 Nov 2011 14:42:08 +0000 (15:42 +0100)] 
cgconfigparser: Allow SUID and SGID permissions in 'fperm' and 'dperm' options.

libcgroup should allow SUID, SGID or sticky bit to be set either in
cgconfig.conf file or in API calls. Especially the sticky bit can be useful for
cooperation with systemd.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgconfigparser: Add 'default' section.
Jan Safranek [Wed, 30 Nov 2011 14:42:01 +0000 (15:42 +0100)] 
cgconfigparser: Add 'default' section.

'default' section in cgconfig.conf file describes default owner and
permissions of group's control and task files. Using the 'default' section,
the common permissions can be specified only once per config file instead
of defining it separately for each group.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolibcgroup: Define NO_UID_GID.
Jan Safranek [Wed, 30 Nov 2011 14:41:53 +0000 (15:41 +0100)] 
libcgroup: Define NO_UID_GID.

Group control or task file owner should have UID/GID set to NO_UID_GID to
distinguish permissions which were set in config file from undefined
values. In the end, NO_UID_GID is transtated to UID/GID 0, so users
won't see any difference.

This will allow subsequent patches to set default owners of files/directories if
the group definition itself did not contain perm {} section.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolscgroup: Fixed too many '/' characters on output
Jan Safranek [Mon, 21 Nov 2011 12:55:46 +0000 (13:55 +0100)] 
lscgroup: Fixed too many '/' characters on output

Fix the calculation of path prefixes and prevent addtional slashes in
libcgroup output.

I.e. instead of:
$ lscgroup cpu:/
cpu:///
cpu:///system

show:
$ lscgroup cpu:/
cpu:/
cpu:/system

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
13 years agolibcgroup wrappers: Remove duplicated code
Dhaval Giani [Fri, 4 Nov 2011 11:46:54 +0000 (17:16 +0530)] 
libcgroup wrappers: Remove duplicated code

There is a lot of duplicated code in the wrappers. This is a hinderance
when one wants to change the basic design and in general maintainence.

Remove the duplicated code.

Also add a test case to test the changes.

Signed-off-by: Dhaval Giani <dhaval.giani@gmail.com>
Acked-By: Jan Safranek <jsafrane@redhat.com>
13 years agodoc: Man page updates
Jan Safranek [Thu, 3 Nov 2011 09:50:14 +0000 (10:50 +0100)] 
doc: Man page updates

Update cgconfig and cgclear man pages with new parameters.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotests: Added cgconfig tests
Jan Safranek [Thu, 3 Nov 2011 09:50:11 +0000 (10:50 +0100)] 
tests: Added cgconfig tests

There are two tests:
 - cgclear_config_one - tests cgclear with one config file, incl. several error
   cases
 - cgclear_config_multi - tests cgclear with multiple config files, not so
   many error cases here

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: cgroup_delete_cgroup_ext was made namespace aware
Jan Safranek [Fri, 23 Sep 2011 11:53:47 +0000 (13:53 +0200)] 
libcgroup: cgroup_delete_cgroup_ext was made namespace aware

When namespace is used, a group can have different parents for different
controllers. cgroup_delete_cgroup_ext should reflect that.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgconfigparser: Allow multiple config files
Jan Safranek [Fri, 23 Sep 2011 11:53:40 +0000 (13:53 +0200)] 
cgconfigparser: Allow multiple config files

cgconfigparser can now parse multiple config files, including
(alphabetitcally sorted) files from a directory.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgclear: delete cgroups from config file
Jan Safranek [Fri, 23 Sep 2011 11:53:33 +0000 (13:53 +0200)] 
cgclear: delete cgroups from config file

cgclear should be able to 'uload' cgroups (and mounts) as specified in
given config file - as exact opposite of cgconfigparser.

This patch adds new options '-c <config_file>' and '-C <directory with config
files> just for this purpose. These options can be specified multiple times.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Added simple structure for list of strings.
Jan Safranek [Fri, 23 Sep 2011 11:53:27 +0000 (13:53 +0200)] 
libcgroup: Added simple structure for list of strings.

As preparation for next patches, simple list of strings is added to
tools-common.[ch]. It will be used as list of config files later.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: added cgroup_config_unload_config() function
Jan Safranek [Fri, 23 Sep 2011 11:53:20 +0000 (13:53 +0200)] 
libcgroup: added cgroup_config_unload_config() function

This function can be used to remove all groups and mounts defined in a
config file. See doxygen comments for details.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: free global config_cgroup_table
Jan Safranek [Fri, 23 Sep 2011 11:53:13 +0000 (13:53 +0200)] 
libcgroup: free global config_cgroup_table

To be able to call the cgroup_parse_config() several times without memory
leaks, its callers should free the memory it allocates when they don't need
it.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: allow parsing to be called several times
Jan Safranek [Fri, 23 Sep 2011 11:53:06 +0000 (13:53 +0200)] 
libcgroup: allow parsing to be called several times

cgroup_parse_config() should properly initialize its global variables, so
it can be called several times safely, i.e. several config files can be
parsed in sequence. The call to cgroup_parse_config() *rewrites* previous
result, it does not *add* new groups/mounts to global tables.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: the library can be re-initialize by cgroup_init()
Jan Safranek [Fri, 23 Sep 2011 11:52:59 +0000 (13:52 +0200)] 
libcgroup: the library can be re-initialize by cgroup_init()

cgroup_init() can be called several times in sequence. New call completelly
rewrites old data, i.e. things that were unmounted between two
cgroup_init() calls disappear and new mount points show up.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: split config parser to standalone function
Jan Safranek [Fri, 23 Sep 2011 11:52:53 +0000 (13:52 +0200)] 
libcgroup: split config parser to standalone function

New function cgroup_parse_config() to parse a config file is added, as
prerequisite of next patches.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: added new flag to cgroup_delete_cgroup_ext to delete only empty groups
Jan Safranek [Fri, 23 Sep 2011 11:52:46 +0000 (13:52 +0200)] 
libcgroup: added new flag to cgroup_delete_cgroup_ext to delete only empty groups

New flag CGFLAG_DELETE_EMPTY_ONLY tells cgroup_delete_cgroup_ext that the
group being deleted must be empty, i.e. have no subgroups and no tasks
inside.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agoAdded cgconfigparser test with fperm and dperm config options
Jan Safranek [Tue, 27 Sep 2011 06:50:09 +0000 (08:50 +0200)] 
Added cgconfigparser test with fperm and dperm config options

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: ignore 'tasks' file when changing permission of control files
Jan Safranek [Tue, 27 Sep 2011 06:50:09 +0000 (08:50 +0200)] 
libcgroup: ignore 'tasks' file when changing permission of control files

When cgroup_create_cgroup() is called with different control_fperm and
task_fperm, libcgroup first changes permissions of *all* files to match
the control_fperm, which includes the also the tasks file and it might
loose some permission bits. The tasks file is then modulated by
control_fperm, but because umask-style of control_fperm, it might get
lower permissions that users would expect.

Therefore 'tasks' file must be skipped when using control_fperm.

Changelog since v1:
  - use list of ignored files, cg_chmod_recursive_controller is called from
    cg_chmod_recursive, which should chmod all files, incl. 'tasks'.

Changelog since v2:
  - renamed the list with ignored files.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
13 years agolibcgroup: fixed chmod cg_chmod_recursive_controller
Jan Safranek [Tue, 27 Sep 2011 06:50:09 +0000 (08:50 +0200)] 
libcgroup: fixed chmod cg_chmod_recursive_controller

fts_read can return NULL in two cases. Either when we have visited all
files in the hierarchy (when errno is set to 0) or when an error
occured. We shouldn't set an error code in the first case obviously.

Changelog since v1:
 - updated log message

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
13 years agocgrulesengd: Fixed processing of symlinked executables.
Jan Safranek [Mon, 22 Aug 2011 08:48:58 +0000 (10:48 +0200)] 
cgrulesengd: Fixed processing of symlinked executables.

when an executable is symlinked and the symlink is executed,
/proc/PID/status contains name of the symlink, while /proc/PID/exe points
to the real executable name. cgrulesengd considered this case as error and
did not trigger any rule for this exec().

With this patch, cgrulesengd uses name of /proc/PID/exe as the executable
in this case.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Remove unreachable code
Jan Safranek [Wed, 24 Aug 2011 09:46:35 +0000 (11:46 +0200)] 
libcgroup: Remove unreachable code

The loop is broken in both if branches above, so it could never reach this
line -> remove it.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Fixed dereferencing of uninitialized variable when modifying a group
Jan Safranek [Wed, 24 Aug 2011 09:46:20 +0000 (11:46 +0200)] 
libcgroup: Fixed dereferencing of uninitialized variable when modifying a group

When group->index == 0, uninitialized variable path might get freed. Path is
always freed in the loop, so it is useless to free it before return.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgclear: Simplified error handling when unmounting controllers
Jan Safranek [Wed, 24 Aug 2011 09:46:08 +0000 (11:46 +0200)] 
cgclear: Simplified error handling when unmounting controllers

Reworked the error handling in cgroup_unload_cgroups.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Added checks for NULL when creating an internal dictionary
Jan Safranek [Wed, 24 Aug 2011 09:41:41 +0000 (11:41 +0200)] 
libcgroup: Added checks for NULL when creating an internal dictionary

Added one check for null when creating an internal dictionary
and fixed checking of calloc result.

Changelog:
  - rephrased the commit message

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agotests: Fixed memory leak in test_functions
Jan Safranek [Wed, 24 Aug 2011 09:41:34 +0000 (11:41 +0200)] 
tests: Fixed memory leak in test_functions

Free the cgroup on error.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolssubsys: Fixed file descriptor leak on error enumerating controllers.
Jan Safranek [Wed, 24 Aug 2011 09:41:26 +0000 (11:41 +0200)] 
lssubsys: Fixed file descriptor leak on error enumerating controllers.

Close the iterator when cgroup_get_all_controller_next fails. I've
rewritten the loop to have one error check for both
cgroup_get_all_controller_begin and cgroup_get_all_controller_end.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Rework walk_tree iterator to release all resources on error.
Jan Safranek [Wed, 24 Aug 2011 09:41:19 +0000 (11:41 +0200)] 
libcgroup: Rework walk_tree iterator to release all resources on error.

cgroup_walk_tree_begin() can end up with error and in some code paths
'*handle' is not set and in some it is.

The function should free all resources on error + return *handle = NULL

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgsnapshot: Fixed file descriptor leak when enumerating controllers
Jan Safranek [Wed, 24 Aug 2011 09:41:11 +0000 (11:41 +0200)] 
cgsnapshot: Fixed file descriptor leak when enumerating controllers

Close the iterators on error. In addition, handling when FL_SILENT flag is
on/off should be the same, except the error output.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agocgsnapshot: Fixed file descriptor leak when getting out of memory
Jan Safranek [Wed, 24 Aug 2011 09:41:04 +0000 (11:41 +0200)] 
cgsnapshot: Fixed file descriptor leak when getting out of memory

Close the iterator when cgroup_new_cgroup fails.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgconfigparser: Fixed memory leak when parsing invalid cgconfig.conf
Jan Safranek [Wed, 24 Aug 2011 09:40:57 +0000 (11:40 +0200)] 
cgconfigparser: Fixed memory leak when parsing invalid cgconfig.conf

Free the dictionary when cgroup_dictionary_add fails.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Fixed memory and file descriptor leak when enumerating processes
Jan Safranek [Wed, 24 Aug 2011 09:40:50 +0000 (11:40 +0200)] 
libcgroup: Fixed memory and file descriptor leak when enumerating processes

Free the resources when fopen or realloc fails.
Also remove completelly useless code.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolibcgroup: Fixed leaked file descriptor when enumerating controllers
Jan Safranek [Wed, 24 Aug 2011 09:40:42 +0000 (11:40 +0200)] 
libcgroup: Fixed leaked file descriptor when enumerating controllers

Close the file when fgets fails.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolibcgroup: Fixed a memory leak during cgrules.conf parsing
Jan Safranek [Wed, 24 Aug 2011 09:40:35 +0000 (11:40 +0200)] 
libcgroup: Fixed a memory leak during cgrules.conf parsing

Free the newrule on strdup error.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotests: Check getpwnam() return value
Jan Safranek [Wed, 24 Aug 2011 09:40:28 +0000 (11:40 +0200)] 
tests: Check getpwnam() return value

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgrulesengd: Fixed closing of daemon sockets on error
Jan Safranek [Wed, 24 Aug 2011 09:40:21 +0000 (11:40 +0200)] 
cgrulesengd: Fixed closing of daemon sockets on error

When socket() fails, it returns -1 instead of file descriptor and we might pass
this -1 to close() in close_and_exit label -> unexpected result.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgconfigparser: Made YY_FATAL_ERROR really fatal when parsing cgconfig.conf
Jan Safranek [Wed, 24 Aug 2011 09:40:13 +0000 (11:40 +0200)] 
cgconfigparser: Made YY_FATAL_ERROR really fatal when parsing cgconfig.conf

The error macro should stop all processing, otherwise some NULL pointers might
get dereferenced (e.g. lex.c:1323). It uses setjmp/longjmp to return from
depths of the bison/lex routines. As obvious consequence, all memory allocated
in the parsers is lost and is never freed. Still, it should be better than
exit() I proposed before.

Changelog:
  - use setjmp/longjmp instead of exit()

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
13 years agolibcgroup: Fixed potential crash when setting a parameter value
Jan Safranek [Wed, 24 Aug 2011 09:40:05 +0000 (11:40 +0200)] 
libcgroup: Fixed potential crash when setting a parameter value

fclose(NULL) dereferences its argument -> sigsegv.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotests: Check cgroup_init() results
Jan Safranek [Wed, 24 Aug 2011 09:39:58 +0000 (11:39 +0200)] 
tests: Check cgroup_init() results

As found by coverity scan, cgroup_init result is not checked in some tests.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agolssubsys: remove unused variable
Jan Safranek [Wed, 24 Aug 2011 09:39:51 +0000 (11:39 +0200)] 
lssubsys: remove unused variable

Remove one unused variable and add more descriptive comment.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgconfigparser: Fixed checking of getpw/grnam_r return codes
Jan Safranek [Wed, 24 Aug 2011 09:39:44 +0000 (11:39 +0200)] 
cgconfigparser: Fixed checking of getpw/grnam_r return codes

It's enough to check *result != NULL after getpwnam_r/getgrnam_r, the error
variable is completely useless.

Changelog:
  - remove error variable completelly

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgsnapshot: fixed exit codes when parsing of mountpoints fails
Jan Safranek [Wed, 24 Aug 2011 09:39:33 +0000 (11:39 +0200)] 
cgsnapshot: fixed exit codes when parsing of mountpoints fails

When parse_mountpoints() fails, the error is not propagated to final
cgsnapshot exit code. Also free black&white lists on error.

Changelog:
  - remove whitespace changes

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agocgsnapshot: fixed return value checks in parse_mountpoints()
Jan Safranek [Wed, 24 Aug 2011 09:39:26 +0000 (11:39 +0200)] 
cgsnapshot: fixed return value checks in parse_mountpoints()

The function should return an error when (and only when) something goes
wrong.

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
13 years agotests: Check cgroup_add_controller return value in test_functions
Jan Safranek [Wed, 24 Aug 2011 09:39:19 +0000 (11:39 +0200)] 
tests: Check cgroup_add_controller return value in test_functions

Discovered by gcc 4.6 as "warning: variable ‘controller’ set but not used"

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-by: Dhaval Giani <dhaval.giani@gmail.com>
14 years agoFixed few findings from Coverity scan
Peter Schiffer [Wed, 13 Jul 2011 12:50:41 +0000 (14:50 +0200)] 
Fixed few findings from Coverity scan

In function cgroup_parse_rules() added missing check for getpwuid() result.
In cgroup_get_procs() added missing fclose() on file descriptor.
In load_list() added missing fclose() on file descriptor.

Signed-off-by: Peter Schiffer <pschiffe@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoPermissions settings documentation
Jan Safranek [Fri, 17 Jun 2011 12:54:02 +0000 (14:54 +0200)] 
Permissions settings documentation

fperm and dperm are not described in the man pages yet. Let's add
missing pieces.

This is updated version of patch originally written by Michal Hocko,
<mhocko@suse.cz>

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoapi: cg_set_control_value strncat fix
Ivana Hutarova Varekova [Thu, 16 Jun 2011 13:08:38 +0000 (15:08 +0200)] 
api: cg_set_control_value strncat fix

cg_set_control_value function contains strncat which uses
sizeof(string) for limitation size which is bogus. This patch fixes it.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoapi: cgroup_walk_tree_begin not freeing entry
Ivana Hutarova Varekova [Thu, 16 Jun 2011 13:08:31 +0000 (15:08 +0200)] 
api: cgroup_walk_tree_begin not freeing entry

in a special situation (entry->fts == NULL)
cgroup_walk_tree_begin does not free the entry structure.
This patch fix it.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocgsnapshot: in special cases memory/fd is not freed
Ivana Hutarova Varekova [Thu, 16 Jun 2011 13:08:25 +0000 (15:08 +0200)] 
cgsnapshot: in special cases memory/fd is not freed

this patch adds several missing frees in cgsnapshot tool

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoapi: cg_rd_ctrl_file does not free fd
Ivana Hutarova Varekova [Thu, 16 Jun 2011 13:08:18 +0000 (15:08 +0200)] 
api: cg_rd_ctrl_file does not free fd

cg_rd_ctrl_file does not free a fd in a special situation.
This patch fixes it

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocgget: fix final cgget cleanup
Ivana Hutarova Varekova [Thu, 16 Jun 2011 13:08:12 +0000 (15:08 +0200)] 
cgget: fix final cgget cleanup

fix final cgget cleanup

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agochmod_file: Introduce intelligent file permissions setting
Michal Hocko [Wed, 15 Jun 2011 15:24:19 +0000 (17:24 +0200)] 
chmod_file: Introduce intelligent file permissions setting

There is no general rule on which permissions make sense for files in
different subsystems. Nevertheless the kernel creates those files with
the maximum allowed permissions for owner so we should use its part as
an umask for group and others permissions as well.
This means that if we specify 777 for file_mode we will end up having
same permissions as owner what ever they are.

The primary intelligence is implemented in cg_chmod_path function which
takes an argument which says whether user permissions should be used
as a template.

This patch adds and exports cgroup_set_permissions which sets
permissions for control and task files into the cgroup descriptor
and cgroup_create_cgroup does the rest.

Example:
/etc/cgconfig.conf:
mount {
        cpu = /cgroup/cpuctl/;
}

group devel {
        perm {
                task {
                        uid = root;
                        gid = cgroup;
                        fperm = 770;
                }
                admin {
                        uid = root;
                        gid = cgroup;
                        dperm = 775;
                        fperm = 770;
                }
        }
        cpu {
                cpu.shares = 5120;
        }
}

cd /cgroup/cpuctl/devel/
ls -la
drwxrwxr-x 2 root cgroup 0 May 19 16:42 .
drwxr-xr-x 4 root root   0 May 19 16:14 ..
-rw-rw---- 1 root cgroup 0 May 19 16:42 cgroup.clone_children
--w--w---- 1 root cgroup 0 May 19 16:42 cgroup.event_control
-r--r----- 1 root cgroup 0 May 19 16:42 cgroup.procs
-rw-rw---- 1 root cgroup 0 May 19 16:42 cpu.rt_period_us
-rw-rw---- 1 root cgroup 0 May 19 16:42 cpu.rt_runtime_us
-rw-rw---- 1 root cgroup 0 May 19 16:42 cpu.shares
-rw-rw---- 1 root cgroup 0 May 19 16:42 notify_on_release
-rw-rw---- 1 root cgroup 0 May 19 16:42 tasks

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocgconfig: enable setting file permissions
Michal Hocko [Wed, 15 Jun 2011 15:23:47 +0000 (17:23 +0200)] 
cgconfig: enable setting file permissions

We cannot setup file or directory permissions in (/etc/cgconfig.conf)
configuration file while we can do this with available tools.
This patch adds new two options fperm, dperm.
Task section supports only fperm, because there are no directories
involved while admin section supports both of them.

Example:
/etc/cgconfig.conf:
mount {
        cpu = /dev/cpuctl;
}
group devel {
        perm {
                task {
                        uid = root;
                        gid = cgroup;
                        fperm = 660;
                }
                admin {
                        uid = root;
                        gid = cgroup;
                        dperm = 775;
                }
        }
        cpu {
                cpu.shares = 5120;
        }
}

$ tools/cgconfigparser -l /etc/cgconfig.conf
$ ls -la /dev/cpuctl/devel/
total 0
drwxrwxr-x 2 root cgroup 0 May 13 15:22 .
drwxr-xr-x 3 root root   0 May 13 15:22 ..
-rw-r--r-- 1 root cgroup 0 May 13 15:22 cgroup.clone_children
--w--w--w- 1 root cgroup 0 May 13 15:22 cgroup.event_control
-r--r--r-- 1 root cgroup 0 May 13 15:22 cgroup.procs
-rw-r--r-- 1 root cgroup 0 May 13 15:22 cpu.rt_period_us
-rw-r--r-- 1 root cgroup 0 May 13 15:22 cpu.rt_runtime_us
-rw-r--r-- 1 root cgroup 0 May 13 15:22 cpu.shares
-rw-r--r-- 1 root cgroup 0 May 13 15:22 notify_on_release
-rw-rw---- 1 root cgroup 0 May 13 15:22 tasks

This patch enhances parser callbacks to initialize cgroup->task_fperm
and cgroup->control_[fd]perm and forces chmod at general
cgroup_create_cgroup level. This is safe because everybody who uses
cgroup has those values initialized to -1 unless they are set and then
they should be used.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoAdd file and directory permissions into cgroup
Michal Hocko [Wed, 15 Jun 2011 15:23:39 +0000 (17:23 +0200)] 
Add file and directory permissions into cgroup

Let's add file permission for tasks and file and directory permissions
for control files into cgroup so that we can add them into configuration
files.
Permissions are initialized to NO_PERMS (unsigned -1 which doesn't
represent any valid permissions) to reflect that no value is set.  Let's
also add a common initialization functions for both cgroup table and
single cgroup.

Signed-off-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocgsnapshot: fix return value checks
Ivana Hutarova Varekova [Tue, 7 Jun 2011 11:19:54 +0000 (13:19 +0200)] 
cgsnapshot: fix return value checks

fix return value checks in load_list functions

Changelog:
* thanks jsafrane free proper list structure properly

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocgget: fix return value checks
Ivana Hutarova Varekova [Fri, 3 Jun 2011 08:00:33 +0000 (10:00 +0200)] 
cgget: fix return value checks

fix return value check in cgget (strdup and add_record_to_buffer functions)

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoFixed multimount tests
Jan Safranek [Thu, 12 May 2011 04:58:55 +0000 (06:58 +0200)] 
Fixed multimount tests

lssubsys has some problems with named hierarchies, they don't appear in
cgroup_get_all_controller_begin()/next().

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-By: Ivana Hutarova Varekova <varekova@redhat.com>
14 years agoFix the malloc error codes
Ivana Hutarova Varekova [Thu, 2 Jun 2011 12:29:52 +0000 (14:29 +0200)] 
Fix the malloc error codes

If malloc|calloc|strdup function is not succesfull
then ECGOTHER should be returned (not ECGFAIL)

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agocg_build_path: use max FILENAME_MAX characters for array in 2nd parameter
Ivana Hutarova Varekova [Thu, 2 Jun 2011 12:29:45 +0000 (14:29 +0200)] 
cg_build_path: use max FILENAME_MAX characters for array in 2nd parameter

The function cg_build_path is internal now. All calls of it (there is one
exception - cgroup_fill_cgc function which uses FILENAME_MAX+1, fixed now too)
have the limited second parameter buffer to FILENAME_MAX.

cg_build_path copy to this buffer, but thhere was no limitation of the size of coppied buffer.
This is fixed in the patch.

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Jan Safranek <jsafrane@redhat.com>
14 years agoFixed cg_chmod_recursive
Jan Safranek [Wed, 1 Jun 2011 09:10:51 +0000 (11:10 +0200)] 
Fixed cg_chmod_recursive

The function changes permissions only in the first hierarchy, but it should
change it in all of them.

Reproducer:
1) have cpuacct and freezer mounted separately, i.e.:
$ lssubsys -m
cpuacct /sys/fs/cgroup/cpuacct
freezer /sys/fs/cgroup/freezer

2) create a group with specific permissions:
$ cgcreate -f 700  -g freezer,cpuacct:/test

Result:
$ ls -la /sys/fs/cgroup/freezer/test/
-rwx------. 1 jsafrane jsafrane 0 May 31 09:16 cgroup.clone_children
-rwx------. 1 jsafrane jsafrane 0 May 31 09:16 cgroup.event_control
(-> first controller is fine)

$ ls -la /sys/fs/cgroup/cpuacct/test/
-rw-r--r--. 1 jsafrane jsafrane 0 May 31 09:16 cgroup.clone_children
--w--w--w-. 1 jsafrane jsafrane 0 May 31 09:16 cgroup.event_control
(-> second controller is wrong, it should be -rwx------)

Changelog:
 - v2: fixed return code of cg_chmod_recursive_controller when fts_read fails
 - v3: fixed error code when malloc fails

Signed-off-by: Jan Safranek <jsafrane@redhat.com>
Acked-By: Ivana Hutarova Varekova<varekova@redhat.com>
14 years agocgconfig: Do not touch subsystems not mounted by cgconfig
Dhaval Giani [Fri, 27 May 2011 06:36:19 +0000 (08:36 +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>
Acked-By: Ivana Hutarova Varekova <varekova@redhat.com>
14 years agoUpdated cgconfig service descriptions
Jan Safranek [Fri, 20 May 2011 13:53:05 +0000 (15:53 +0200)] 
Updated cgconfig service descriptions

Signed-off-by: Jan Safranek <jsafrane@redhat.com>