[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=NJE-rXgFZ44BU4U2KrDg0657ucpupT+RGC4sj@mail.gmail.com>
Date: Fri, 14 Jan 2011 14:29:11 +1100
From: Nick Piggin <npiggin@...il.com>
To: Al Viro <viro@...iv.linux.org.uk>
Cc: "J. R. Okajima" <hooanon05@...oo.co.jp>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-kernel@...r.kernel.org
Subject: Re: vfs-scale, d_revalidate from nfsd
On Fri, Jan 14, 2011 at 2:20 PM, Al Viro <viro@...iv.linux.org.uk> wrote:
> 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
> * call on the final stage of open split away and folded with
> ->lookup() and ->open()/->creat()
> * 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 nameidata *nd)
> {
> if (nd->flags & LOOKUP_RCU)
> return -ECHILD;
> return -EPERM;
> }
> when the sole intent of that sucker is to have dentry of /.xattr (pinned
> in dcache and hashed all along) rejected on lookups from root? IOW, 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 supposed
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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists