From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: vfs-scale, d_revalidate from nfsd Date: Fri, 14 Jan 2011 14:29:11 +1100 Message-ID: References: <8855.1294927436@jrobl> <20110114030325.GU19804@ZenIV.linux.org.uk> <20110114032052.GV19804@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: "J. R. Okajima" , linux-fsdevel , linux-kernel@vger.kernel.org To: Al Viro Return-path: Received: from mail-wy0-f174.google.com ([74.125.82.174]:50887 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752489Ab1AND3N convert rfc822-to-8bit (ORCPT ); Thu, 13 Jan 2011 22:29:13 -0500 In-Reply-To: <20110114032052.GV19804@ZenIV.linux.org.uk> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Jan 14, 2011 at 2:20 PM, Al Viro wrot= e: > On Fri, Jan 14, 2011 at 02:12:35PM +1100, Nick Piggin wrote: >> The main idea here would be to just pass in a flags parameter rather >> thank poking in nd to get the rcu-walk status. That would solve this >> problem and also avoid nd for most filesystems that don't care about >> it. > > Start with nd->flags getting passed explicitly, and be ready to see > =A0 =A0 =A0 =A0* call on the final stage of open split away and folde= d with > ->lookup() and ->open()/->creat() > =A0 =A0 =A0 =A0* the rest of callers to lose nd completely. > That's what's going to happen in the next cycle. OK that sounds nice. I'll see what it looks like and definitely run any proposed API change past you and fsdevel. > BTW, why on the earth do you have that: > static int xattr_hide_revalidate(struct dentry *dentry, struct nameid= ata *nd) > { > =A0 =A0 =A0 =A0if (nd->flags & LOOKUP_RCU) > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return -ECHILD; > =A0 =A0 =A0 =A0return -EPERM; > } > when the sole intent of that sucker is to have dentry of /.xattr (pin= ned > in dcache and hashed all along) rejected on lookups from root? =A0IOW= , WTF > bother with -ECHILD here at all? That's true. I guess I always have a weakness for doing "just one little easy optimisation/simplification" folded into patch that is supp= osed to be more mechanical changes :) I did have exactly that in the patch initially, but I decided it's better just to do everything with -ECHILD= first. That also gives the -ECHILD paths a bit more workout before fs conversions are done, too. -- 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