[git pull] vfs pile 1 (dcache)

From: Al Viro
Date: Wed Apr 04 2018 - 00:46:10 EST


fs/dcache.c work, mostly - part of that is what trylock elimination
series has turned into, part - making d_move() preserve the parent (and thus
the path) of victim, plus some general cleanups.

The following changes since commit 8cc07c808c9d595e81cbe5aad419b7769eb2e5c9:

fs: dcache: Use READ_ONCE when accessing i_dir_seq (2018-02-25 12:51:10 -0500)

are available in the git repository at:

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

for you to fetch changes up to 04bbc9795d2e89c79edf48fb1303ace2e8c90a60:

Merge branch 'old.dcache' into work.dcache (2018-04-04 00:40:19 -0400)

----------------------------------------------------------------
Al Viro (19):
take write_seqcount_invalidate() into __d_drop()
d_delete(): get rid of trylock loop
get rid of trylock loop in locking dentries on shrink list
now lock_parent() can't run into killed dentry
split the slow part of lock_parent() off
dput(): consolidate the "do we need to retain it?" into an inlined helper
handle move to LRU in retain_dentry()
get rid of trylock loop around dentry_kill()
dcache.c: trim includes
split d_path() and friends into a separate file
take out orphan externs (empty_string/slash_string)
fold lookup_real() into __lookup_hash()
debugfs_lookup(): switch to lookup_one_len_unlocked()
lustre: get rid of pointless casts to struct dentry *
oprofilefs: don't oops on allocation failure
make non-exchanging __d_move() copy ->d_parent rather than swap them
fold dentry_lock_for_move() into its sole caller and clean it up
d_genocide: move export to definition
Merge branch 'old.dcache' into work.dcache

John Ogness (3):
fs/dcache: Remove stale comment from dentry_kill()
fs/dcache: Move dentry_kill() below lock_parent()
fs/dcache: Avoid a try_lock loop in shrink_dentry_list()

NeilBrown (1):
constify more dcache.h inlined helpers.

drivers/oprofile/oprofilefs.c | 3 +
drivers/staging/lustre/lustre/llite/dcache.c | 6 +-
fs/Makefile | 2 +-
fs/d_path.c | 470 +++++++++++++
fs/dcache.c | 966 +++++++--------------------
fs/debugfs/inode.c | 5 +-
fs/namei.c | 41 +-
include/linux/dcache.h | 6 +-
8 files changed, 735 insertions(+), 764 deletions(-)
create mode 100644 fs/d_path.c