From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Brown Subject: Re: [PATCH -V18 04/13] vfs: Allow handle based open on symlinks Date: Wed, 25 Aug 2010 12:04:13 +1000 Message-ID: <20100825120413.7d5c5994@notabene> References: <1282269097-26166-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com> <1282269097-26166-5-git-send-email-aneesh.kumar@linux.vnet.ibm.com> <20100820083057.GA10039@infradead.org> <20100820195303.20b17210@notabene> <20100820115135.GQ31363@ZenIV.linux.org.uk> <20100821100900.4b15fe08@notabene> <17761610-AFA9-4BB5-AF62-CD54D67F5C79@oracle.com> <20100823090604.6c735c80@notabene> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Andreas Dilger , Al Viro , Christoph Hellwig , "Aneesh Kumar K.V" , "adilger@sun.com" , "corbet@lwn.net" , "npiggin@kernel.dk" , "hooanon05@yahoo.co.jp" , "bfields@fieldses.org" , "miklos@szeredi.hu" , "linux-fsdevel@vger.kernel.org" , "sfrench@us.ibm.com" , "philippe.deniel@CEA.FR" , "linux-kernel@vger.kernel.org" To: Bastien ROUCARIES Return-path: Received: from cantor2.suse.de ([195.135.220.15]:47145 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932087Ab0HYCE3 convert rfc822-to-8bit (ORCPT ); Tue, 24 Aug 2010 22:04:29 -0400 In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Tue, 24 Aug 2010 11:41:10 +0200 Bastien ROUCARIES wrote: > On Mon, Aug 23, 2010 at 1:06 AM, Neil Brown wrote: > > On Sat, 21 Aug 2010 01:13:52 -0600 > > Andreas Dilger wrote: > > > >> On 2010-08-20, at 18:09, Neil Brown wrote: > >> > How about a new AT flag: =C2=A0AT_FILE_HANDLE > >> > > >> > Meaning is that the 'dirfd' is used only to identify a filesyste= m (vfsmnt) and > >> > the 'name' pointer actually points to a filehandle fragment inte= rpreted in > >> > that filesystem. >=20 > Why ot creating a special file system for this kind of operation ? > I mean a vfsmnt filesystem, with each directory on the root is a > symlink to the root of the real vfsmnt root ? >=20 > I could be even be in proc space like /proc/self/vfsmnt >=20 > path_to_handle will return a relative path from this directory like > 0x75843558/somehandle (if X is on /usr/bin/X and usr is mounted by > filesystem 0x75843558) > path_to_fshandle() will return 0x75843558 >=20 > opening file handle will be just a matter to thus open > /proc/self/vfsmount/0x75843558/somehandle >=20 > Permission will be determined by vfsmount filesystem. >=20 > No need to create new syscall all te handle to filename will be handl= e > by the vfsmount filesystem >=20 > We could even use at existing command. The dirfd will need to be only > /proc/self/vfsmnt (and if you need to get a fd without mounting /proc > create a syscall to get this fd). >=20 > Does sound plausible ? > I don't think so. I'm not 100% certain what you are proposing, but I think the basic idea= is a virtual filesystem where giving a textual filehandle as a name gives ac= cess to the file with that filehandle. This could only work by creating a virtual symlink from the name to the object in whichever filesystem - somewhat like /proc/self/fd/*. This could be used to open the file, not to create a hard-link or read = a symlink which are two of the issues we are struggling with. Maybe I have misunderstood you though. NeilBrown -- 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