From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:36136 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751748Ab1BXFrU (ORCPT ); Thu, 24 Feb 2011 00:47:20 -0500 Date: Thu, 24 Feb 2011 05:47:01 +0000 From: Al Viro To: Ian Kent Cc: Nick Piggin , Trond Myklebust , David Howells , Kernel Mailing List , linux-fsdevel , Linus Torvalds , Andrew Morton , Linux NFS Mailing List Subject: Re: [PATCH 0/3] Fixes for vfs-scale and vfs-automount Message-ID: <20110224054701.GU22723@ZenIV.linux.org.uk> References: <20110118040449.23109.33071.stgit@localhost6.localdomain6> <1295420817.3076.24.camel@perseus> <1297779902.13007.86.camel@perseus> <20110224015817.GQ22723@ZenIV.linux.org.uk> <1298516618.2916.20.camel@perseus> <20110224031439.GR22723@ZenIV.linux.org.uk> <1298518137.2916.35.camel@perseus> <20110224035836.GS22723@ZenIV.linux.org.uk> Content-Type: text/plain; charset=us-ascii In-Reply-To: <20110224035836.GS22723@ZenIV.linux.org.uk> Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 On Thu, Feb 24, 2011 at 03:58:37AM +0000, Al Viro wrote: > On Thu, Feb 24, 2011 at 11:28:57AM +0800, Ian Kent wrote: > > > Ha, I haven't even turned on my Ultrsparc 2 in months, it's only got an > > old version of Solaris on it now anyway, ;) > > U60, with lenny (and mainline kernel) on it. Probably ought to upgrade > to squeeze one of those days... It works, all right, but it's only 2-way, > so reproducing would probably be harder. Plus the fun of building the tests > themselves on somewhat different userland... > > Anyway, I wonder why you care about __d_lookup_rcu() and ->d_inode stability; > d_mountpoint() _is_ stable at that point (we hold vfsmount_lock) and you > don't seem to look at ->d_inode at all in RCU case. Note that ->d_automount() > is never called in RCU case at all; nor is ->lookup() and friends, so you > really only have ->d_manage() to cope with, what with autofs4 having no > ->d_revalidate() anymore. FWIW, can we _ever_ get to __do_follow_link() with link->mnt != nd->path.mnt? It's probably not what's happening here, or we would've stepped on another BUG_ON(), but still it might be worth checking... AFAICS, if we ever get there that way, we are fscked, so the check before mntget() ought to replaced with BUG_ON(link->mnt != nd->path.mnt)...