From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jamie Lokier Subject: Re: [PATCH] private mounts Date: Thu, 28 Apr 2005 20:20:48 +0100 Message-ID: <20050428192048.GA2895@mail.shareable.org> References: <20050424205422.GK13052@parcelfarce.linux.theplanet.co.uk> <20050424210616.GM13052@parcelfarce.linux.theplanet.co.uk> <20050424213822.GB9304@mail.shareable.org> <20050425152049.GB2508@elf.ucw.cz> <20050425190734.GB28294@mail.shareable.org> <20050426092924.GA4175@elf.ucw.cz> <20050426140715.GA10833@mail.shareable.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Pavel Machek , Al Viro , Miklos Szeredi , hch@infradead.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, akpm@osdl.org Return-path: Received: from mail.shareable.org ([81.29.64.88]:39850 "EHLO mail.shareable.org") by vger.kernel.org with ESMTP id S262220AbVD1TVJ (ORCPT ); Thu, 28 Apr 2005 15:21:09 -0400 To: Eric Van Hensbergen Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Eric Van Hensbergen wrote: > > It's called /proc/NNN/root. > > > > 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). > > > > Should have checked myself before posting my previous reply -- but > this doesn't seem to work. /proc/NNN/root is represented as a > symlink, but when you CLONE_NS and then try to look at another one of > your process' /proc/NNN/root the link doesn't seem to have a target > and you get permission denied on all accesses. I've looked at the code. Look in fs/proc/base.c (Linux 2.6.10), proc_root_link(). I don't see anything there to prevent you from traversing to the mounts in the other namespace. So why is it failing? Any idea? > I haven't looked at the underlying procfs code, but adapting procfs > for this sort of purpose feels wrong. Having a file/directory which represents namespaces held by another process makes much more sense to me than new system calls and inventing yet another id space to represent namespaces. And, given that you can look at the filesystems another process can see by doing ptrace on it, it might as well be accessible in a more natural way. -- Jamie