Commit 9069513c by Serge Hallyn

lxc_cgroup: convert to using API

parent dfb31b25
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <lxc/lxc.h> #include <lxc/lxc.h>
#include <lxc/log.h> #include <lxc/log.h>
#include <lxc/lxccontainer.h>
#include "arguments.h" #include "arguments.h"
lxc_log_define(lxc_cgroup_ui, lxc_cgroup); lxc_log_define(lxc_cgroup_ui, lxc_cgroup);
...@@ -64,6 +65,7 @@ Options :\n\ ...@@ -64,6 +65,7 @@ Options :\n\
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
char *state_object = NULL, *value = NULL; char *state_object = NULL, *value = NULL;
struct lxc_container *c;
if (lxc_arguments_parse(&my_args, argc, argv)) if (lxc_arguments_parse(&my_args, argc, argv))
return -1; return -1;
...@@ -74,29 +76,36 @@ int main(int argc, char *argv[]) ...@@ -74,29 +76,36 @@ int main(int argc, char *argv[])
state_object = my_args.argv[0]; state_object = my_args.argv[0];
if ((argc) > 1) c = lxc_container_new(my_args.name, my_args.lxcpath[0]);
value = my_args.argv[1]; 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 ((my_args.argc) > 1) {
if (lxc_cgroup_set(my_args.name, state_object, value, my_args.lxcpath[0])) { value = my_args.argv[1];
if (!c->set_cgroup_item(c, state_object, value)) {
ERROR("failed to assign '%s' value to '%s' for '%s'", ERROR("failed to assign '%s' value to '%s' for '%s'",
value, state_object, my_args.name); value, state_object, my_args.name);
lxc_container_put(c);
return -1; return -1;
} }
} else { } else {
const unsigned long len = 4096; int len = 4096;
int ret;
char buffer[len]; char buffer[len];
int ret = c->get_cgroup_item(c, state_object, buffer, len);
ret = lxc_cgroup_get(my_args.name, state_object, buffer, len, my_args.lxcpath[0]);
if (ret < 0) { if (ret < 0) {
ERROR("failed to retrieve value of '%s' for '%s'", ERROR("failed to retrieve value of '%s' for '%s:%s'",
state_object, my_args.name); state_object, my_args.lxcpath[0], my_args.name);
lxc_container_put(c);
return -1; return -1;
} }
printf("%*s", ret, buffer); printf("%*s", ret, buffer);
} }
lxc_container_put(c);
return 0; return 0;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment