Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751391AbWBKKMz (ORCPT ); Sat, 11 Feb 2006 05:12:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751392AbWBKKMy (ORCPT ); Sat, 11 Feb 2006 05:12:54 -0500 Received: from ebiederm.dsl.xmission.com ([166.70.28.69]:2756 "EHLO ebiederm.dsl.xmission.com") by vger.kernel.org with ESMTP id S1751391AbWBKKMy (ORCPT ); Sat, 11 Feb 2006 05:12:54 -0500 To: Kirill Korotaev Cc: linux-kernel@vger.kernel.org, vserver@list.linux-vserver.org, Herbert Poetzl , "Serge E. Hallyn" , Alan Cox , Dave Hansen , Arjan van de Ven , Suleiman Souhlal , Hubertus Franke , Cedric Le Goater , Kyle Moffett , Greg , Linus Torvalds , Andrew Morton , Greg KH , Rik van Riel , Alexey Kuznetsov , Andrey Savochkin , Kirill Korotaev , Andi Kleen , Benjamin Herrenschmidt , Jeff Garzik , Trond Myklebust , Jes Sorensen Subject: Re: [RFC][PATCH 20/20] proc: Update /proc to support multiple pid spaces. References: <43ECFA46.3050001@sw.ru> From: ebiederm@xmission.com (Eric W. Biederman) Date: Sat, 11 Feb 2006 03:10:16 -0700 In-Reply-To: <43ECFA46.3050001@sw.ru> (Kirill Korotaev's message of "Fri, 10 Feb 2006 23:40:38 +0300") Message-ID: User-Agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2554 Lines: 60 Kirill Korotaev writes: > Hello, > >> This patch does a couple of things. >> - It splits proc into proc and proc_sysinfo >> - It adds pspace support to proc >> - It adds getattr methods to ensure proc has the proper hard link count. >> - It increases the size of a couple of buffers by one to avoid buffer overflow >> - It moves /proc/mounts and /proc/loadavg into the proc filesystem from > proc_sysinfo >> Sorry for the big patch. When I start feeding this changes seriously I will >> split this patch. >> The split of /proc into mutliple filesystems works well however it comes >> with one downsides. There are now some directories where cd -P /.. >> is not a noop. Basically it is doing the equivalent of following symlinks >> into an internal kernel mount. It is well defined and safe behaviour but >> I'm not certain if it is desirable. >> Signed-off-by: Eric W. Biederman > > This one is really ugly. It is certainly to much at one time, and the code while semanticly interesting is still has significant issues with the implementation. But a lot of the ugliness is inherent in the current implementation of /proc and not what I am trying to do with it. > And it is also controversial to your own idea of having separate namespaces, > but introduces a pointer to proc_mnt in pspace. An instance of /proc being connected to a pid space is perfectly natural. /proc is after all the filesystem that reports what is in a pspace. I freely admit the way I am using the internal mount of proc is wrong, and is something that needs to be resolved before I submit this for kernel inclusion. I was attempting to solve the problem of having duplicate dcache entries in my recursive structure. Unfortunately it was one of those clever solutions that only gets you 99% of the way to where you want to go. > You have many namespaces to which task_struct refers. > Do you want proc to work in any configuration of namespaces? Yes. > Then you can't have pointers to proc_mnt from namespaces. > Well, I understand that proc is the most painfull for you... yeah... proc is the painful for any pid change in how pids are dealt with. So far I have not seen a single implementation that cleanly and correctly addresses all of the issues (including mine :) Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/