On 05/17/2011 03:24 PM, Jan Safranek wrote:
> 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.
This is not the truth if the configuration file is empty and no control 
group is already mounted cgconfigparser will produce an error:
$ cgconfigparser -l 
/home/varekova/bg/libgc/20110520/libcg/samples/cgconfig.conf
Loading configuration file 
/home/varekova/bg/libgc/20110520/libcg/samples/cgconfig.conf failed
Cgroup is not mounted.

This is true only if there is some hierarchy is mounted when 
cgconfigparser is run on empty file.
Ivana
> Signed-off-by: Jan Safranek<jsafr...@redhat.com>
> ---
>
>   doc/man/cgconfig.conf.5 |   13 +++++++++++--
>   src/config.c            |   10 ++--------
>   2 files changed, 13 insertions(+), 10 deletions(-)
>
> diff --git a/doc/man/cgconfig.conf.5 b/doc/man/cgconfig.conf.5
> index d57fb44..4a82b95 100644
> --- a/doc/man/cgconfig.conf.5
> +++ b/doc/man/cgconfig.conf.5
> @@ -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 a comment line and is ignored.
> +sections. These sections can be in arbitrary order and both are optional.
> +Any line starting with '#' is considered a comment line and is ignored.
>   .LP
>   .I mount
>   section has this form:
> @@ -53,6 +53,11 @@ controller shall be mounted. The directory is created
>   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
> @@ -174,6 +179,10 @@ created. If it is enclosed in double quotes `"', it can 
> contain spaces
>   and other special characters.
>   .RE
>
> +If no
> +.I group
> +section is specified, no groups are created.
> +
>   .\"********************************************"
>   .SH EXAMPLES
>   .LP
> diff --git a/src/config.c b/src/config.c
> index f1873ea..ee367ef 100644
> --- a/src/config.c
> +++ b/src/config.c
> @@ -723,19 +723,13 @@ int cgroup_config_load_config(const char *pathname)
>       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;
>
>
> ------------------------------------------------------------------------------
> Achieve unprecedented app performance and reliability
> What every C/C++ and Fortran developer should know.
> Learn how Intel has extended the reach of its next-generation tools
> to help boost performance applications - inlcuding clusters.
> http://p.sf.net/sfu/intel-dev2devmay
> _______________________________________________
> Libcg-devel mailing list
> Libcg-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libcg-devel


------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to