> Those are implementation details internal to namei.c. Certainly this > function wouldn't use all of the fields in nameidata, but it doesn't > hurt to have a few fields in a struct on the stack which don't get used. > Keeping the code simple and uniform is much more important. Using Exactly. > Certainly vfs_walk_ancestors() would fallback to ref-walk if rcu-walk > resulted in -ECHILD - just like all other path walking code in namei.c. > This would be largely transparent to the caller - the caller would only > see that the callback received a NULL path indicating a restart. It > wouldn't need to know why. Yes, that's also what I mentioned in an earlier mail.