This series adds a new lookup flag LOOKUP_DONTCACHE_NEGATIVE to indicate to drop negative dentry in slow path of lookup. In overlayfs, negative dentries in upper/lower layers are useless after construction of overlayfs' own dentry, so in order to effectively reclaim those dentries, specify LOOKUP_DONTCACHE_NEGATIVE flag when doing lookup in upper/lower layers. Patch 1 adds flag LOOKUP_DONTCACHE_NEGATIVE and related logic in vfs layer. Patch 2 does lookup optimazation for overlayfs. Patch 3-9 just adjusts function argument when calling lookup_positive_unlocked() and lookup_one_len_unlocked(). v1->v2: - Only drop negative dentry in slow path of lookup. v2->v3: - Drop negative dentry in vfs layer. - Rebase on latest linus-tree(5.7.0-rc5). Chengguang Xu (9): fs/dcache: Introduce a new lookup flag LOOKUP_DONTCACHE_NEGATIVE ovl: Suppress negative dentry in lookup cifs: Adjust argument for lookup_positive_unlocked() debugfs: Adjust argument for lookup_positive_unlocked() ecryptfs: Adjust argument for lookup_one_len_unlocked() exportfs: Adjust argument for lookup_one_len_unlocked() kernfs: Adjust argument for lookup_positive_unlocked() nfsd: Adjust argument for lookup_positive_unlocked() quota: Adjust argument for lookup_positive_unlocked() fs/cifs/cifsfs.c | 2 +- fs/debugfs/inode.c | 2 +- fs/ecryptfs/inode.c | 2 +- fs/exportfs/expfs.c | 2 +- fs/kernfs/mount.c | 2 +- fs/namei.c | 14 ++++++++++---- fs/nfsd/nfs3xdr.c | 2 +- fs/nfsd/nfs4xdr.c | 3 ++- fs/overlayfs/namei.c | 9 +++++---- fs/quota/dquot.c | 3 ++- include/linux/namei.h | 9 +++++++-- 11 files changed, 32 insertions(+), 18 deletions(-) -- 2.20.1