Hi,
The cgconfig service succeeds even if there are something wrong
in /etc/cgconfig.conf. For example, it succeeds even if specifying
not-existing user (nouser) as a perm.task.uid like the following:
# cat /etc/cgconfig.conf
mount {
cpuset = /mnt/cgroups/cpuset;
memory = /mnt/cgroups/memory;
}
group root {
perm {
task {
uid = nouser;
gid = root;
}
admin {
uid = root;
gid = root;
}
}
cpuset {
cpuset.cpus = 0;
cpuset.mems = 0;
}
memory {
memory.use_hierarchy = 1;
memory.limit_in_bytes = 1000000000000;
}
}
#
# service cgconfig start
Starting cgconfig service: parsing failed at line number 10
[ OK ]
# echo $?
0
#
I feel that is not a good behavior and the cgconfig service should
fail if there are something wrong in /etc/cgconfig.conf.
This patch fixes the behavior. In the above case, the behavior is
changed like the following by this patch:
# service cgconfig start
Starting cgconfig service: parsing failed at line number 10
Loading configuration file /etc/cgconfig.conf failed
Cgroup parsing failed
Failed to parse /etc/cgconfig.conf [FAILED]
#
Any comments are welcome.
Thanks
Ken'ichi Ohmichi
Signed-off-by: Ken'ichi Ohmichi <[email protected]>
---
diff --git a/src/parse.y b/src/parse.y
index 8c7ae24..2fe95fd 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -72,7 +72,7 @@ group : GROUP ID '{' group_conf '}'
else {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -85,7 +85,7 @@ group_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -95,7 +95,7 @@ group_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -105,7 +105,7 @@ group_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -146,7 +146,7 @@ task_namevalue_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -156,7 +156,7 @@ task_namevalue_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -169,7 +169,7 @@ admin_namevalue_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -179,7 +179,7 @@ admin_namevalue_conf
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -192,7 +192,7 @@ task_or_admin
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -202,7 +202,7 @@ task_or_admin
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -214,7 +214,7 @@ admin_conf: ADMIN '{' admin_namevalue_conf '}'
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -226,7 +226,7 @@ task_conf: TASK '{' task_namevalue_conf '}'
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
@@ -259,7 +259,7 @@ mount : MOUNT '{' mountvalue_conf '}'
if (!$$) {
fprintf(stderr, "parsing failed at line number %d\n",
line_no);
- $$ = 0;
+ $$ = 1;
return $$;
}
}
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel