From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Dilger Subject: Re: [PATCH -V18 04/13] vfs: Allow handle based open on symlinks Date: Sat, 21 Aug 2010 01:13:52 -0600 Message-ID: <17761610-AFA9-4BB5-AF62-CD54D67F5C79@oracle.com> 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> Mime-Version: 1.0 (iPhone Mail 8A400) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8BIT Cc: 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: Neil Brown Return-path: Received: from rcsinet10.oracle.com ([148.87.113.121]:33881 "EHLO rcsinet10.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751251Ab0HUHP0 convert rfc822-to-8bit (ORCPT ); Sat, 21 Aug 2010 03:15:26 -0400 In-Reply-To: <20100821100900.4b15fe08@notabene> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 2010-08-20, at 18:09, Neil Brown wrote: > How about a new AT flag: AT_FILE_HANDLE > > Meaning is that the 'dirfd' is used only to identify a filesystem (vfsmnt) and > the 'name' pointer actually points to a filehandle fragment interpreted in > that filesystem. > > One problem is that there is no way to pass the length... > Options: > fragment is at most 64 bytes nul padded at the end > fragment is hex encoded and nul terminated > ?? > > I think I prefer the hex encoding, but I'm hoping someone else has a better > idea. That makes it ugly for the kernel to stringify and parse the file handles. How about for AT_FILE_HANDLE THE FIRST __u32 (maybe with an extra __u32 for alignment) is the length and the rest of the binary file handle follows this? In fact, doesn't the handle itself already encode the length in the header? Cheers, Andreas