diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-09 23:04:47 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-14 09:15:27 -0400 |
commit | 5b6ca027d85b7438c84b78a54ccdc2e53f2909cd (patch) | |
tree | e35b870101fbc6a2ea6e0399429d9c23707697f3 /fs/internal.h | |
parent | 5a18fff2090c3af830d699c8ccb230498a1e37e5 (diff) | |
download | lwn-5b6ca027d85b7438c84b78a54ccdc2e53f2909cd.tar.gz lwn-5b6ca027d85b7438c84b78a54ccdc2e53f2909cd.zip |
reduce vfs_path_lookup() to do_path_lookup()
New lookup flag: LOOKUP_ROOT. nd->root is set (and held) by caller,
path_init() starts walking from that place and all pathname resolution
machinery never drops nd->root if that flag is set. That turns
vfs_path_lookup() into a special case of do_path_lookup() *and*
gets us down to 3 callers of link_path_walk(), making it finally
feasible to rip the handling of trailing symlink out of link_path_walk().
That will not only simply the living hell out of it, but make life
much simpler for unionfs merge. Trailing symlink handling will
become iterative, which is a good thing for stack footprint in
a lot of situations as well.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
0 files changed, 0 insertions, 0 deletions