On Wed, 21 Aug 2013 14:35:28 -0500 Serge Hallyn <serge.hal...@ubuntu.com> wrote:
> Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> Acked-by: Dwight Engen <dwight.en...@oracle.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; > } ------------------------------------------------------------------------------ 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