Take advantage of the new API and show all mount points in cgsnapshot output.
Signed-off-by: Jan Safranek <jsafr...@redhat.com> TG: vi: set textwidth=75 filetype=diff nobackup: --- src/tools/cgsnapshot.c | 29 +++++++++++++++++++++++------ 1 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/tools/cgsnapshot.c b/src/tools/cgsnapshot.c index 88f2142..4dbecfd 100644 --- a/src/tools/cgsnapshot.c +++ b/src/tools/cgsnapshot.c @@ -568,6 +568,27 @@ static int parse_controllers(cont_name_t cont_names[CG_CONTROLLER_MAX], return 0; } +static int show_mountpoints(const char *controller) +{ + char path[FILENAME_MAX]; + int ret; + void *handle; + + ret = cgroup_get_subsys_mount_point_begin(controller, &handle, path); + if (ret) + return ret; + + while (ret == 0) { + printf("\t%s = %s;\n", controller, path); + ret = cgroup_get_subsys_mount_point_next(&handle, path); + } + cgroup_get_subsys_mount_point_end(&handle); + + if (ret != ECGEOF) + return ret; + return 0; +} + /* print data about input mount points */ /* TODO only wanted ones */ static int parse_mountpoints(cont_name_t cont_names[CG_CONTROLLER_MAX], @@ -576,7 +597,6 @@ static int parse_mountpoints(cont_name_t cont_names[CG_CONTROLLER_MAX], int ret; void *handle; struct controller_data info; - char *mount_point; /* start mount section */ fprintf(of, "mount {\n"); @@ -587,17 +607,14 @@ static int parse_mountpoints(cont_name_t cont_names[CG_CONTROLLER_MAX], /* the controller attached to some hierarchy */ if (info.hierarchy != 0) { - ret = cgroup_get_subsys_mount_point(info.name, - &mount_point); + ret = show_mountpoints(info.name); if (ret != 0) { /* the controller is not mounted */ if ((flags & FL_SILENT) == 0) { fprintf(stderr, "ERROR: %s hierarchy "\ "not mounted\n", info.name); } - } else - fprintf(of, "\t%s = %s;\n", - info.name, mount_point); + } } /* next controller */ ------------------------------------------------------------------------------ Xperia(TM) PLAY It's a major breakthrough. An authentic gaming smartphone on the nation's most reliable network. And it wants your games. http://p.sf.net/sfu/verizon-sfdev _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel