[git pull] work.namei stuff (v2)

From: Al Viro
Date: Sat Feb 20 2021 - 12:46:44 EST


Most of that pile is LOOKUP_CACHED series; the rest is a couple of
misc cleanups in the general area...

There's a minor bisect hazard in the end of series, and normally
I would've just folded the fix into the previous commit, but this branch is
shared with Jens' tree, with stuff on top of it in there, so that would've
required rebases outside of vfs.git.

NOTE: I'm less than thrilled by the "let's allow offloading pathwalks
to helper threads" push, but LOOKUP_CACHED is useful on its own.

The following changes since commit 5c8fe583cce542aa0b84adc939ce85293de36e5e:

Linux 5.11-rc1 (2020-12-27 15:30:22 -0800)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.namei

for you to fetch changes up to eacd9aa8cedeb412842c7b339adbaa0477fdd5ad:

fix handling of nd->depth on LOOKUP_CACHED failures in try_to_unlazy* (2021-02-20 12:33:12 -0500)

----------------------------------------------------------------
Al Viro (3):
do_tmpfile(): don't mess with finish_open()
saner calling conventions for unlazy_child()
fix handling of nd->depth on LOOKUP_CACHED failures in try_to_unlazy*

Jens Axboe (3):
fs: make unlazy_walk() error handling consistent
fs: add support for LOOKUP_CACHED
fs: expose LOOKUP_CACHED through openat2() RESOLVE_CACHED

Steven Rostedt (VMware) (1):
fs/namei.c: Remove unlikely of status being -ECHILD in lookup_fast()

fs/namei.c | 89 ++++++++++++++++++++++----------------------
fs/open.c | 6 +++
include/linux/fcntl.h | 2 +-
include/linux/namei.h | 1 +
include/uapi/linux/openat2.h | 4 ++
5 files changed, 56 insertions(+), 46 deletions(-)