[GIT PULL for v6.11] vfs casefold

From: Christian Brauner
Date: Fri Jul 12 2024 - 09:57:35 EST


Hey Linus,

/* Summary */
This contains some work to simplify the handling of casefolded names:

- Simplify the handling of casefolded names in f2fs and ext4 by keeping the
names as a qstr to avoiding unnecessary conversions.

- Introduce a new generic_ci_match() libfs case-insensitive lookup helper and
use it in both f2fs and ext4 allowing to remove the filesystem specific
implementations.

- Remove a bunch of ifdefs by making the unicode built checks part of the code
flow.

/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)

All patches are based on v6.10-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.

/* Conflicts */
No known conflicts.

The following changes since commit 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0:

Linux 6.10-rc1 (2024-05-26 15:20:12 -0700)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.11.casefold

for you to fetch changes up to 28add38d545f445f01eec844b85eed4593c31733:

f2fs: Move CONFIG_UNICODE defguards into the code flow (2024-06-07 17:00:45 +0200)

Please consider pulling these changes from the signed vfs-6.11.casefold tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.11.casefold

----------------------------------------------------------------
Gabriel Krisman Bertazi (7):
ext4: Simplify the handling of cached casefolded names
f2fs: Simplify the handling of cached casefolded names
libfs: Introduce case-insensitive string comparison helper
ext4: Reuse generic_ci_match for ci comparisons
f2fs: Reuse generic_ci_match for ci comparisons
ext4: Move CONFIG_UNICODE defguards into the code flow
f2fs: Move CONFIG_UNICODE defguards into the code flow

fs/ext4/crypto.c | 10 +----
fs/ext4/ext4.h | 35 +++++++++------
fs/ext4/namei.c | 122 ++++++++++++++++-------------------------------------
fs/ext4/super.c | 4 +-
fs/f2fs/dir.c | 105 ++++++++++++++-------------------------------
fs/f2fs/f2fs.h | 16 ++++++-
fs/f2fs/namei.c | 10 ++---
fs/f2fs/recovery.c | 9 +---
fs/f2fs/super.c | 8 ++--
fs/libfs.c | 74 ++++++++++++++++++++++++++++++++
include/linux/fs.h | 4 ++
11 files changed, 195 insertions(+), 202 deletions(-)