Re: [PATCH 00/11] fs/dcache: Limit # of negative dentries

From: Al Viro
Date: Thu Feb 27 2020 - 23:53:07 EST


On Fri, Feb 28, 2020 at 12:36:09PM +0800, Ian Kent wrote:

> And let's not forget that file systems are the primary
> source of these and not all create them on lookups.
> I may be mistaken, but I think ext4 does not while xfs
> definitely does.

Both ext4 and xfs bloody well *DO* create hashed negative
dentries on lookups. There is a pathological case when
they are trying to be case-insensitive (and in that situation
we are SOL - if somebody insists upon mounting with
-o make-it-suck, that's what they bloody well get).

Casefondling idiocy aside, negative lookups are hashed.
On all normal filesystems. Look for d_splice_alias()
getting passed NULL inode - that's where ->lookup()
instances normally create those.