Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- src/lxc/lxc_cgroup.c | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-)
diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c index 094686d..7f6eb63 100644 --- a/src/lxc/lxc_cgroup.c +++ b/src/lxc/lxc_cgroup.c @@ -29,6 +29,7 @@ #include <lxc/lxc.h> #include <lxc/log.h> +#include <lxc/lxccontainer.h> #include "arguments.h" lxc_log_define(lxc_cgroup_ui, lxc_cgroup); @@ -64,6 +65,7 @@ Options :\n\ int main(int argc, char *argv[]) { char *state_object = NULL, *value = NULL; + struct lxc_container *c; if (lxc_arguments_parse(&my_args, argc, argv)) return -1; @@ -74,29 +76,36 @@ int main(int argc, char *argv[]) state_object = my_args.argv[0]; - if ((argc) > 1) - value = my_args.argv[1]; + c = lxc_container_new(my_args.name, my_args.lxcpath[0]); + if (!c) + return -1; + if (!c->is_running(c)) { + ERROR("'%s:%s' is not running", my_args.lxcpath[0], my_args.name); + lxc_container_put(c); + return -1; + } - if (value) { - if (lxc_cgroup_set(my_args.name, state_object, value, my_args.lxcpath[0])) { + if ((my_args.argc) > 1) { + value = my_args.argv[1]; + if (!c->set_cgroup_item(c, state_object, value)) { ERROR("failed to assign '%s' value to '%s' for '%s'", value, state_object, my_args.name); + lxc_container_put(c); return -1; } } else { - const unsigned long len = 4096; - int ret; + int len = 4096; char buffer[len]; - - ret = lxc_cgroup_get(my_args.name, state_object, buffer, len, my_args.lxcpath[0]); + int ret = c->get_cgroup_item(c, state_object, buffer, len); if (ret < 0) { - ERROR("failed to retrieve value of '%s' for '%s'", - state_object, my_args.name); + ERROR("failed to retrieve value of '%s' for '%s:%s'", + state_object, my_args.lxcpath[0], my_args.name); + lxc_container_put(c); return -1; } - printf("%*s", ret, buffer); } + lxc_container_put(c); return 0; } -- 1.8.3.2 ------------------------------------------------------------------------------ Introducing Performance Central, a new site from SourceForge and AppDynamics. Performance Central is your source for news, insights, analysis and resources for efficient Application Performance Management. Visit us today! http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel