[lxc-devel] [PATCH 4/6] encapsulate the ns_cgroup
Daniel Lezcano
daniel.lezcano at free.fr
Wed Dec 15 16:49:18 UTC 2010
Create a single API to create a cgroup which will switch to the old
ns_cgroup automatically.
Signed-off-by: Daniel Lezcano <daniel.lezcano at free.fr>
---
src/lxc/cgroup.c | 10 ++++++++++
src/lxc/cgroup.h | 4 ++--
src/lxc/lxc_unshare.c | 2 +-
src/lxc/start.c | 4 ++--
4 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/lxc/cgroup.c b/src/lxc/cgroup.c
index 350d439..4b54906 100644
--- a/src/lxc/cgroup.c
+++ b/src/lxc/cgroup.c
@@ -142,6 +142,16 @@ int lxc_unlink_nsgroup(const char *name)
return ret;
}
+int lxc_cgroup_create(const char *name, pid_t pid)
+{
+ return lxc_rename_nsgroup(name, pid);
+}
+
+int lxc_cgroup_destroy(const char *name)
+{
+ return lxc_unlink_nsgroup(name);
+}
+
int lxc_cgroup_path_get(char **path, const char *name)
{
char cgroup[MAXPATHLEN];
diff --git a/src/lxc/cgroup.h b/src/lxc/cgroup.h
index 905686e..8607fa8 100644
--- a/src/lxc/cgroup.h
+++ b/src/lxc/cgroup.h
@@ -26,8 +26,8 @@
#define MAXPRIOLEN 24
struct lxc_handler;
-int lxc_rename_nsgroup(const char *name, pid_t pid);
-int lxc_unlink_nsgroup(const char *name);
+int lxc_cgroup_create(const char *name, pid_t pid);
+int lxc_cgroup_destroy(const char *name);
int lxc_cgroup_path_get(char **path, const char *name);
int lxc_cgroup_nrtasks(const char *name);
#endif
diff --git a/src/lxc/lxc_unshare.c b/src/lxc/lxc_unshare.c
index 62349eb..a82490e 100644
--- a/src/lxc/lxc_unshare.c
+++ b/src/lxc/lxc_unshare.c
@@ -214,7 +214,7 @@ int main(int argc, char *argv[])
ERROR("pid_name: failed to allocate memory");
return -1;
}
- lxc_unlink_nsgroup(pid_name);
+ lxc_cgroup_destroy(pid_name);
free(pid_name);
return lxc_error_set_and_log(pid, status);
diff --git a/src/lxc/start.c b/src/lxc/start.c
index 7e17cc5..b8ceff6 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -506,7 +506,7 @@ int lxc_spawn(struct lxc_handler *handler)
if (lxc_sync_wait_child(handler, LXC_SYNC_CONFIGURE))
failed_before_rename = 1;
- if (lxc_rename_nsgroup(name, handler->pid))
+ if (lxc_cgroup_create(name, handler->pid))
goto out_delete_net;
if (failed_before_rename)
@@ -585,7 +585,7 @@ int __lxc_start(const char *name, struct lxc_conf *conf,
out_fini:
LXC_TTY_DEL_HANDLER(SIGQUIT);
LXC_TTY_DEL_HANDLER(SIGINT);
- lxc_unlink_nsgroup(name);
+ lxc_cgroup_destroy(name);
lxc_fini(name, handler);
return err;
--
1.7.0.4
More information about the lxc-devel
mailing list