From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH 1/4] VFS: Add a VFS helper function vfs_remote_path_lookup() Date: Fri, 3 Apr 2009 00:18:59 +0100 Message-ID: <20090402231859.GP28946@ZenIV.linux.org.uk> References: <1238629407.19782.5.camel@heimdal.trondhjem.org> <20090402191709.GJ28946@ZenIV.linux.org.uk> <1238700874.16087.42.camel@heimdal.trondhjem.org> <20090402195212.GK28946@ZenIV.linux.org.uk> <20090402195759.GL28946@ZenIV.linux.org.uk> <20090402202846.GM28946@ZenIV.linux.org.uk> <1238705130.16087.58.camel@heimdal.trondhjem.org> <20090402205418.GN28946@ZenIV.linux.org.uk> <1238710585.31262.28.camel@heimdal.trondhjem.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Linus Torvalds , linux-fsdevel@vger.kernel.org To: Trond Myklebust Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:46145 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753197AbZDBXTG (ORCPT ); Thu, 2 Apr 2009 19:19:06 -0400 Content-Disposition: inline In-Reply-To: <1238710585.31262.28.camel@heimdal.trondhjem.org> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, Apr 02, 2009 at 06:16:25PM -0400, Trond Myklebust wrote: > On Thu, 2009-04-02 at 21:54 +0100, Al Viro wrote: > > > The other thing we'd need is a 'root' path argument to ensure that > > > __vfs_follow_link() does the right thing when presented with an absolute > > > symlink. > > > > The only problem I see with this is that we'll get root vfsmount/dentry > > refcount jerked on *all* lookups now, instead of just the absolute > > ones... > > How about using a LOOKUP_ROOT_SET nd->flag to switch between use of > current->fs->root or nd->root? That allows you to keep the default > behaviour of not changing the root refcount. Eww... Let's not. First of all, the really useful part of nd->root for normal case is that it allows to get ...->fs->root once. So it's better to *cache* ->fs->root in there. At which point the flag disappears, since it becomes simply nd->root.mnt != NULL. The interesting part is keeping refcounting happy. I'll see how to do that - it's clearly useful on its own. Hopefully will post later tonight...