Re: [PATCH] private mounts
[Posted April 27, 2005 by corbet]
| From: |
| Jamie Lokier <jamie-AT-shareable.org> |
| To: |
| Pavel Machek <pavel-AT-ucw.cz> |
| Subject: |
| Re: [PATCH] private mounts |
| Date: |
| Tue, 26 Apr 2005 15:07:15 +0100 |
| Cc: |
| Al Viro <viro-AT-parcelfarce.linux.theplanet.co.uk>,
Miklos Szeredi <miklos-AT-szeredi.hu>, hch-AT-infradead.org,
linux-fsdevel-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org,
akpm-AT-osdl.org |
| Archive-link: |
| Article,
Thread
|
Pavel Machek wrote:
> > > Actually, after you add right mount xyzzy /foo lines into .profile,
> > > you can just . ~/.profile ;-).
> >
> > Is there a mount command that can do that? We're talking about
> > private mounts - invisible to other namespaces, which includes the
> > other shells.
> >
> > If there was a /proc/NNN/namespace, that would do the trick :)
>
> Sounds like the solution, then. I do not think Al Viro is going to
> kill you for /proc/NNN/namespace...
Looking closer, I think we already have it.
It's called /proc/NNN/root.
Does chroot into /proc/NNN/root cause the chroot'ing process to adopt
the namespace of NNN? Looking at the code, I think it does.
Furthermore, I think a daemon can acquire file descriptors for
multiple namespaces already, by open("/") and passing descriptors
between processes. And the chroot can be done using /proc/self/fd/N
after receiving a descriptor.
This is because file descriptors, and current->fs->pwd and
current->fs->root, record the vfsmnt as well as the dentry that they
opened.
So no new system calls are needed. A daemon to hand out per-user
namespaces (or any other policy) can be written using existing
kernels, and those namespaces can be joined using chroot.
That's the theory anyway. It's always possible I misread the code (as
I don't use namespaces and don't have tools handy to try them).
-- Jamie
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
(
Log in to post comments)