-
confile: add lxc.namespace.<namespace-key> · 28d9e29eChristian Brauner authored
This commit also gets rid of ~10 unnecessarily file descriptors that were kept open. Before we kept open: - A set of file descriptors that refer to the monitor's namespaces. These were only used to reattach to the monitor's namespace in lxc_spawn() and were never used anywhere else. So close them and don't keep them around. - A list of inherited file descriptors. - A list of file descriptors referring to the containers's namespaces to pass to lxc.hook.stop. This list duplicated inherited file descriptors. Let's simply use a single list in the handler that has all file descriptors we need and get rid of all other ones. As an illustration. Starting a container 1. Without this patch and looking at the fds that the monitor keeps open (26): chb@conventiont|~ > ls -al /proc/27219/fd total 0 dr-x------ 2 root root 0 Oct 29 14:30 . dr-xr-xr-x 9 root root 0 Oct 29 14:30 .. lrwx------ 1 root root 64 Oct 29 14:30 0 -> /dev/null lrwx------ 1 root root 64 Oct 29 14:30 1 -> /dev/null lrwx------ 1 root root 64 Oct 29 14:30 10 -> anon_inode:[signalfd] lrwx------ 1 root root 64 Oct 29 14:30 11 -> /dev/ptmx lrwx------ 1 root root 64 Oct 29 14:30 12 -> /dev/pts/10 lr-x------ 1 root root 64 Oct 29 14:30 13 -> net:[4026532553] lrwx------ 1 root root 64 Oct 29 14:30 15 -> socket:[7909181] lrwx------ 1 root root 64 Oct 29 14:30 16 -> socket:[7909182] lr-x------ 1 root root 64 Oct 29 14:30 17 -> uts:[4026531838] lr-x------ 1 root root 64 Oct 29 14:30 18 -> ipc:[4026531839] lr-x------ 1 root root 64 Oct 29 14:30 19 -> net:[4026532009] lrwx------ 1 root root 64 Oct 29 14:30 2 -> /dev/null lr-x------ 1 root root 64 Oct 29 14:30 20 -> mnt:[4026532611] lr-x------ 1 root root 64 Oct 29 14:30 21 -> pid:[4026532612] lr-x------ 1 root root 64 Oct 29 14:30 22 -> uts:[4026532548] lr-x------ 1 root root 64 Oct 29 14:30 23 -> ipc:[4026532549] lr-x------ 1 root root 64 Oct 29 14:30 24 -> net:[4026532553] l-wx------ 1 root root 64 Oct 29 14:30 3 -> /var/log/lxc/a1.log lr-x------ 1 root root 64 Oct 29 14:30 4 -> uts:[4026532548] lr-x------ 1 root root 64 Oct 29 14:30 5 -> ipc:[4026532549] lr-x------ 1 root root 64 Oct 29 14:30 6 -> net:[4026532553] lrwx------ 1 root root 64 Oct 29 14:30 7 -> anon_inode:[eventpoll] lrwx------ 1 root root 64 Oct 29 14:30 9 -> socket:[7911594] 2. With this patch and looking at the fds that the monitor keeps open (19): chb@conventiont|~ > ls -al /proc/28465/fd total 0 dr-x------ 2 root root 0 Oct 29 14:31 . dr-xr-xr-x 9 root root 0 Oct 29 14:31 .. lrwx------ 1 root root 64 Oct 29 14:31 0 -> /dev/null lrwx------ 1 root root 64 Oct 29 14:31 1 -> /dev/null lr-x------ 1 root root 64 Oct 29 14:31 10 -> net:[4026532820] lrwx------ 1 root root 64 Oct 29 14:31 12 -> socket:[7912349] lrwx------ 1 root root 64 Oct 29 14:31 13 -> socket:[7912350] lr-x------ 1 root root 64 Oct 29 14:31 14 -> mnt:[4026532611] lr-x------ 1 root root 64 Oct 29 14:31 15 -> pid:[4026532813] lr-x------ 1 root root 64 Oct 29 14:31 16 -> uts:[4026532612] lr-x------ 1 root root 64 Oct 29 14:31 17 -> ipc:[4026532613] lr-x------ 1 root root 64 Oct 29 14:31 18 -> net:[4026532820] lrwx------ 1 root root 64 Oct 29 14:31 2 -> /dev/null l-wx------ 1 root root 64 Oct 29 14:31 3 -> /var/log/lxc/a1.log lrwx------ 1 root root 64 Oct 29 14:31 4 -> anon_inode:[signalfd] lrwx------ 1 root root 64 Oct 29 14:31 5 -> /dev/ptmx lrwx------ 1 root root 64 Oct 29 14:31 6 -> /dev/pts/10 lrwx------ 1 root root 64 Oct 29 14:31 7 -> anon_inode:[eventpoll] lrwx------ 1 root root 64 Oct 29 14:31 9 -> socket:[7913041] Relates to #1881. Signed-off-by:Christian Brauner <christian.brauner@ubuntu.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| include | Loading commit data... | |
| lua-lxc | Loading commit data... | |
| lxc | Loading commit data... | |
| python-lxc | Loading commit data... | |
| tests | Loading commit data... | |
| Makefile.am | Loading commit data... |