Re: vfs-scale, d_revalidate from nfsd

From: Nick Piggin
Date: Thu Jan 13 2011 - 22:29:22 EST


On Fri, Jan 14, 2011 at 2:20 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/