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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html