git://git.onelab.eu
/
lxc-userspace.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7cee96a
)
Mount /proc inside slice.
author
Sapan Bhatia
<gwsapan@gmail.com>
Mon, 3 Jun 2013 19:24:27 +0000
(15:24 -0400)
committer
Sapan Bhatia
<gwsapan@gmail.com>
Mon, 3 Jun 2013 19:24:27 +0000
(15:24 -0400)
lxcsu
patch
|
blob
|
history
setns.c
patch
|
blob
|
history
diff --git
a/lxcsu
b/lxcsu
index
83f1144
..
2f1c0af
100755
(executable)
--- a/
lxcsu
+++ b/
lxcsu
@@
-136,10
+136,13
@@
def main ():
setns.chcontext('/proc/%s/ns/net'%pid)
if (not options.mntns):
setns.chcontext('/proc/%s/ns/net'%pid)
if (not options.mntns):
-
open('/proc/lxcsu','w').write(
pid)
+
setns.chcontext('/proc/%s/ns/mnt'%
pid)
if (not options.pidns):
if (not options.pidns):
- open('/proc/pidsu','w').write(pid)
+ setns.chcontext('/proc/%s/ns/pid'%pid)
+
+ if (!os.access('/proc/self'):
+ setns.proc_mount()
# cgroups is not yet LXC-safe, so we need to use the course grained access control
# strategy of unmounting the filesystem
# cgroups is not yet LXC-safe, so we need to use the course grained access control
# strategy of unmounting the filesystem
diff --git
a/setns.c
b/setns.c
index
776804d
..
fded30b
100644
(file)
--- a/
setns.c
+++ b/
setns.c
@@
-2,6
+2,7
@@
#include <fcntl.h>
#include <stdio.h>
#include <asm-generic/unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <asm-generic/unistd.h>
+#include <sys/mount.h>
static PyObject *
chfscontext(PyObject *self, PyObject *args)
static PyObject *
chfscontext(PyObject *self, PyObject *args)
@@
-27,6
+28,16
@@
chfscontext(PyObject *self, PyObject *args)
out:
return Py_BuildValue("i", sts);
}
out:
return Py_BuildValue("i", sts);
}
+
+static PyObject *
+proc_mount(PyObject *self, PyObject *args)
+{
+ int sts;
+ sts = mount("none","/proc","procfs",0,NULL);
+
+ return Py_BuildValue("i", sts);
+}
+
static PyObject *
chcontext(PyObject *self, PyObject *args)
{
static PyObject *
chcontext(PyObject *self, PyObject *args)
{
@@
-54,6
+65,7
@@
out:
static PyMethodDef SetnsMethods[] =
{
static PyMethodDef SetnsMethods[] =
{
+ {"proc_mount", proc_mount, METH_VARARGS, "Mount a volume via the mount system call."},
{"chcontext", chcontext, METH_VARARGS, "Switch into an lxc container."},
{"chfscontext", chfscontext, METH_VARARGS, "Switch into an lxc container."},
{NULL, NULL, 0, NULL}
{"chcontext", chcontext, METH_VARARGS, "Switch into an lxc container."},
{"chfscontext", chfscontext, METH_VARARGS, "Switch into an lxc container."},
{NULL, NULL, 0, NULL}