On Fri, Apr 21, 2023 at 08:03:07PM -0400, Gabriel Krisman Bertazi wrote: > From: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx> > > Preserve the existing behavior for encrypted directories, by rejecting > negative dentries of encrypted+casefolded directories. This allows > generic_ci_d_revalidate to be used by filesystems with both features > enabled, as long as the directory is either casefolded or encrypted, but > not both at the same time. > > Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxx> > --- > fs/libfs.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fs/libfs.c b/fs/libfs.c > index f8881e29c5d5..0886044db593 100644 > --- a/fs/libfs.c > +++ b/fs/libfs.c > @@ -1478,6 +1478,9 @@ static inline int generic_ci_d_revalidate(struct dentry *dentry, > const struct inode *dir = READ_ONCE(parent->d_inode); > > if (dir && needs_casefold(dir)) { > + if (IS_ENCRYPTED(dir)) > + return 0; > + Why not allow negative dentries in case-insensitive encrypted directories? I can't think any reason why it wouldn't just work. - Eric