[git pull] vfs part 2

Al Viro
2010-03-05T16:29:11Z

Next part of VFS stuff: getting do_filp_open() to relative
sanity. There will be more piles (the next one is dealing with
write_inode mess, in an hour or so). Please, pull from
git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

Shortlog:
Al Viro (18):
beginning to untangle do_filp_open()
gut do_filp_open() a bit more (do_last separation)
Shift releasing nd->root from do_last() to its caller
unroll do_last: loop in do_filp_open()
postpone __putname() until after do_last()
pull the common predecessors into do_last()
bail out with ELOOP earlier in do_link loop
pull more into do_last()
Don't pass mangled open_flag to finish_open()
Get rid of passing mangled flag to do_last()
Leave mangled flag only for setting nd.intent.open.flag
Pull handling of LAST_BIND into do_last(), clean up ok: part in do_filp_open()
Kill is_link argument of do_last()
Unify exits in O_CREAT handling
Turn do_link spaghetty into a normal loop
Finish pulling of -ESTALE handling to upper level in do_filp_open()
Get rid of symlink body copying
Switch !O_CREAT case to use of do_last()

Diffstat:
fs/namei.c | 523 ++++++++++++++++++++++++++++++------------------------------
1 files changed, 263 insertions(+), 260 deletions(-)