Home » Mailing lists » Devel » [patch -mm 00/17] new namespaces and related syscalls
Re: [patch -mm 08/17] nsproxy: add hashtable [message #16966 is a reply to message #16882] |
Mon, 11 December 2006 16:09   |
Cedric Le Goater
Messages: 443 Registered: February 2006
|
Senior Member |
|
|
Herbert Poetzl wrote:
> On Fri, Dec 08, 2006 at 01:57:38PM -0700, Eric W. Biederman wrote:
>> "Serge E. Hallyn" <serue@us.ibm.com> writes:
>>
>>> Quoting Eric W. Biederman (ebiederm@xmission.com):
>>>> clg@fr.ibm.com writes:
>>>>
>>>>> From: Cedric Le Goater <clg@fr.ibm.com>
>>>>>
>>>>> This patch adds a hashtable of nsproxy using the nsproxy as a key.
>>>>> init_nsproxy is hashed at init with key 0. This is considered to be
>>>>> the 'host' nsproxy.
>>>> NAK. Which namespace do these ids live in?
>
> well, I gave a similar answer in another email,
> so I fully agree with the NAK here ...
hmm, I wasn't that clear to me. OK, let's dig :)
>>>> It sounds like you are setting up to make the 'host' nsproxy
>>>> special and have special rules. That also sounds wrong.
>>>>
>>>> Even letting the concept of nsproxy escape to user space sounds
>>>> wrong. nsproxy is an internal space optimization. It's not struct
>>>> container and I don't think we want it to become that.
>>>>
>>>> Eric
>>> So would you advocate referring to containers just by the pid of
>>> a process containing the nsproxy, and letting userspace maintain
>>> a mapping of id's to containers through container create/enter
>>> commands? Or is there some other way you were thinking of doing
>>> this?
>
>> There are two possible ways.
>> 1) Just use a process using the namespace.
>> This is easiest to implement.
>
>> 2) Have a struct pid reference in the namespace itself,
>> and probably an extra pointer in struct pid to find it.
>> This is the most stable, because fork/exit won't affect
>> which pid you need to use.
>
> while I agree that nsproxy is definitely the wrong
> point to tie a 'context' too, as it can contain a
> mixture of spaces from inside and outside a context,
> and it would require to forbid doing things like
> clone() with the space flags, both inside and outside
> a 'container' to allow to use them for actual vps
> applications, I think that we have to have some kind
> of handle to tie specific sets of namespaces too
this is nsproxy ...
> that 'can' be an nsproxy or something different, but
> I'm absolutely unhappy with tying it to a process,
hmm, what do you mean ? nsproxy survives the death of any
process. It's not tied to any process in particular. One
process creates it with an unshare but that's all.
the ->nsproxy in task_struct is a way to find it.
> as I already mentioned several times, that lightweight
> 'containers' do not use/have an init process, and no
> single process might survive the entire life span of
> that 'container' ...
I think there is a misunderstanding here. a 'container'
or 'nsproxy' or what ever is a set of namespaces which
are not tied to a process.
you can do that today on 2.6.19 with utsname.
>> Beyond that yes it seems to make sense to let user space
>> maintain any mapping of containers to ids.
>
> I agree with that, but we need something to move
> around between the various spaces ...
the bind_ns syscall lets the user specify the mapping. this
is not done by the kernel.
I had to introduce some rules, like giving more capabilities to
some processes, but that can be changed. For the
moment, they have to live in "init_proxy".
> for example, Linux-VServer ties the namespaces to
> the context structure (atm) which allows userspace
> to set and enter specific spaces of a guest context
> (I assume OpenVZ does similar)
What's the big difference with nsproxy ?
C.
_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
|
|
|
 |
|
[patch -mm 00/17] new namespaces and related syscalls
|
 |
|
[patch -mm 01/17] net namespace: empty framework
|
 |
|
[patch -mm 02/17] user namespace: add the framework
|
 |
|
[patch -mm 03/17] namespace : export unshare of namespace and fs_struct
|
 |
|
[patch -mm 04/17] nsproxy: externalizes exit_task_namespaces
|
 |
|
Re: [patch -mm 04/17] nsproxy: externalizes exit_task_namespaces
By: ebiederm on Fri, 08 December 2006 20:16
|
 |
|
Re: [patch -mm 04/17] nsproxy: externalizes exit_task_namespaces
|
 |
|
[patch -mm 05/17] ipc namespace : externalizes unshare_ipcs
|
 |
|
Re: [patch -mm 05/17] ipc namespace : externalizes unshare_ipcs
|
 |
|
Re: [patch -mm 05/17] ipc namespace : externalizes unshare_ipcs
|
 |
|
[patch -mm 06/17] nsproxy: add extern to nsproxy functions
|
 |
|
[patch -mm 07/17] nsproxy: make put_nsproxy an extern
|
 |
|
[patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Fri, 08 December 2006 19:30
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Fri, 08 December 2006 19:53
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Fri, 08 December 2006 20:57
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Sat, 09 December 2006 07:54
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Mon, 11 December 2006 15:29
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Mon, 11 December 2006 15:56
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Mon, 11 December 2006 19:35
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Mon, 11 December 2006 20:03
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Mon, 11 December 2006 20:34
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Mon, 11 December 2006 22:01
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Wed, 20 December 2006 06:12
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Mon, 11 December 2006 22:18
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Tue, 12 December 2006 03:28
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Tue, 12 December 2006 15:29
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: serue on Tue, 12 December 2006 15:45
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: dev on Tue, 12 December 2006 08:43
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Tue, 12 December 2006 07:52
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Tue, 12 December 2006 08:37
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Tue, 12 December 2006 08:57
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Wed, 13 December 2006 18:53
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
|
 |
|
Re: [patch -mm 08/17] nsproxy: add hashtable
By: ebiederm on Thu, 14 December 2006 21:08
|
 |
|
[patch -mm 09/17] nsproxy: add namespace flags
|
 |
|
Re: [patch -mm 09/17] nsproxy: add namespace flags
|
 |
|
Re: [patch -mm 09/17] nsproxy: add namespace flags
|
 |
|
Re: [patch -mm 09/17] nsproxy: add namespace flags
By: ebiederm on Fri, 08 December 2006 19:40
|
 |
|
Re: [patch -mm 09/17] nsproxy: add namespace flags
|
 |
|
Re: [patch -mm 09/17] nsproxy: add namespace flags
By: ebiederm on Mon, 11 December 2006 20:02
|
 |
|
[patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
By: ebiederm on Fri, 08 December 2006 19:26
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
By: ebiederm on Sat, 09 December 2006 07:40
|
 |
|
Re: [patch -mm 10/17] nsproxy: add unshare_ns and bind_ns syscalls
|
 |
|
[patch -mm 11/17] user namespace: add user_namespace ptr to vfsmount
|
 |
|
Re: [patch -mm 11/17] user namespace: add user_namespace ptr to vfsmount
By: serue on Tue, 05 December 2006 18:27
|
 |
|
[patch -mm 12/17] user namespace: hook permission
|
 |
|
[patch -mm 13/17] user namespace: implement shared mounts
|
 |
|
[patch -mm 14/17] user namespace: maintain user ns for priv_userns mounts to vfsmount
|
 |
|
[patch -mm 15/17] pid namespace: add unshare
|
 |
|
[patch -mm 16/17] net namespace: add unshare
|
 |
|
[patch -mm 17/17] user namespace: add unshare
|
Goto Forum:
Current Time: Sat Jul 12 07:19:20 GMT 2025
Total time taken to generate the page: 0.01851 seconds
|