On 10/25/2010 12:27 PM, Ivana Hutarova Varekova wrote: > cgpconfigparser changes the permissions of all files. That's why to test > whether the variable file is writable, there have to be used the variable > file from the root group. > > CHANGELOG: > * add the information why root group is used for finding which variable > is writable > > > Signed-off-by: Ivana Hutarova Varekova<[email protected]>
Acked-By: Jan Safranek <[email protected]> > --- > > src/tools/cgsnapshot.c | 14 ++++++++++---- > 1 files changed, 10 insertions(+), 4 deletions(-) > > diff --git a/src/tools/cgsnapshot.c b/src/tools/cgsnapshot.c > index a593f91..f347b39 100644 > --- a/src/tools/cgsnapshot.c > +++ b/src/tools/cgsnapshot.c > @@ -273,7 +273,7 @@ static int display_permissions(const char *path, > > static int display_cgroup_data(struct cgroup *group, > char controller[CG_CONTROLLER_MAX][FILENAME_MAX], > - const char *group_path, int first, > + const char *group_path, int root_path_len, int first, > const char *program_name) > { > int i = 0, j; > @@ -315,8 +315,14 @@ static int display_cgroup_data(struct cgroup *group, > for (j = 0; j< nr_var; j++) { > name = cgroup_get_value_name(group_controller, j); > > - /* test whether the variable file is writable */ > - strncpy(var_path, group_path, FILENAME_MAX); > + /* For the non-root groups cgconfigparser set > + permissions of variable files to 777. Thus > + It is necessary to test the permissions of > + variable files in the root group to find out > + whether the variable is writable. > + */ > + strncpy(var_path, group_path, root_path_len); > + var_path[root_path_len] = '\0'; > strncat(var_path, "/", FILENAME_MAX); > var_path[FILENAME_MAX-1] = '\0'; > strncat(var_path, name, FILENAME_MAX); > @@ -450,7 +456,7 @@ static int display_controller_data( > } > > display_cgroup_data(group, controller, info.full_path, > - first, program_name); > + prefix_len, first, program_name); > first = 0; > } > } > > > ------------------------------------------------------------------------------ > Nokia and AT&T present the 2010 Calling All Innovators-North America contest > Create new apps& games for the Nokia N8 for consumers in U.S. and Canada > $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing > Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store > http://p.sf.net/sfu/nokia-dev2dev > _______________________________________________ > Libcg-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libcg-devel ------------------------------------------------------------------------------ Nokia and AT&T present the 2010 Calling All Innovators-North America contest Create new apps & games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev _______________________________________________ Libcg-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libcg-devel
