reduce vfs_path_lookup() to do_path_lookup()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 10 Mar 2011 04:04:47 +0000 (23:04 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 14 Mar 2011 13:15:27 +0000 (09:15 -0400)
commit5b6ca027d85b7438c84b78a54ccdc2e53f2909cd
treee35b870101fbc6a2ea6e0399429d9c23707697f3
parent5a18fff2090c3af830d699c8ccb230498a1e37e5
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>
fs/namei.c
include/linux/namei.h