X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=setns.c;h=7d82d53cec46bc163b7c6ac9b6e25a19a4295abf;hb=9aeaf209864065305bbd6edb584b0c9735df8126;hp=323825a8d3237ba96a0cf19f92a7ca2bf334545c;hpb=8f0e621ac168f3374ee3956426a840caa79d36d6;p=lxc-userspace.git diff --git a/setns.c b/setns.c index 323825a..7d82d53 100644 --- a/setns.c +++ b/setns.c @@ -2,6 +2,7 @@ #include #include #include +#include static PyObject * chfscontext(PyObject *self, PyObject *args) @@ -14,7 +15,7 @@ chfscontext(PyObject *self, PyObject *args) int fd = open(filepath, O_RDONLY); if (fd < 0) { - printf("Could not open ns file\n"); + //printf("Could not open ns file\n"); sts = -1; goto out; } @@ -27,6 +28,26 @@ chfscontext(PyObject *self, PyObject *args) out: return Py_BuildValue("i", sts); } + +static PyObject * +proc_mount(PyObject *self, PyObject *args) +{ + int sts; + sts = mount("none","/proc","proc",0,NULL); + + return Py_BuildValue("i", sts); +} + +static PyObject * +proc_umount(PyObject *self, PyObject *args) +{ + int sts; + sts = umount("/proc"); + + return Py_BuildValue("i", sts); + +} + static PyObject * chcontext(PyObject *self, PyObject *args) { @@ -38,7 +59,7 @@ chcontext(PyObject *self, PyObject *args) int fd = open(filepath, O_RDONLY); if (fd < 0) { - printf("Could not open ns file\n"); +// printf("Could not open ns file\n"); sts = -1; goto out; } @@ -54,6 +75,8 @@ out: static PyMethodDef SetnsMethods[] = { + {"proc_mount", proc_mount, METH_VARARGS, "Mount a volume via the mount system call."}, + {"proc_umount", proc_umount, METH_VARARGS, "Umount a volume via the umount system call."}, {"chcontext", chcontext, METH_VARARGS, "Switch into an lxc container."}, {"chfscontext", chfscontext, METH_VARARGS, "Switch into an lxc container."}, {NULL, NULL, 0, NULL}