[PATCH v2 0/6] Exposing case folding behavior

Chuck Lever
2025-12-11T15:21:52Z

From: Chuck Lever <chuck.lever@oracle.com>

Following on from

https://lore.kernel.org/linux-nfs/20251021-zypressen-bazillus-545a44af57fd@brauner/T/#m0ba197d75b7921d994cf284f3cef3a62abb11aaa

I'm attempting to implement enough support in the Linux VFS to
enable file services like NFSD and ksmbd (and user space
equivalents) to provide the actual status of case folding support
in local file systems. The default behavior for local file systems
not explicitly supported in this series is to reflect the usual
POSIX behaviors:

case-insensitive = false
case-preserving = true

Changes since RFC:
- Use file_getattr instead of statx
- Postpone exposing Unicode version until later
- Support NTFS and ext4 in addition to FAT
- Support NFSv4 fattr4 in addition to NFSv3 PATHCONF

Chuck Lever (6):
fs: Add case sensitivity info to file_kattr
fat: Implement fileattr_get for case sensitivity
ntfs3: Implement fileattr_get for case sensitivity
ext4: Report case sensitivity in fileattr_get
nfsd: Report export case-folding via NFSv3 PATHCONF
nfsd: Implement NFSv4 FATTR4_CASE_INSENSITIVE and
FATTR4_CASE_PRESERVING

fs/ext4/ioctl.c | 12 ++++++++++++
fs/fat/fat.h | 3 +++
fs/fat/file.c | 18 ++++++++++++++++++
fs/fat/namei_msdos.c | 1 +
fs/fat/namei_vfat.c | 1 +
fs/file_attr.c | 31 +++++++++++++++++++++++++++++++
fs/nfsd/nfs3proc.c | 18 ++++++++++--------
fs/nfsd/nfs4xdr.c | 30 ++++++++++++++++++++++++++----
fs/nfsd/vfs.c | 25 +++++++++++++++++++++++++
fs/nfsd/vfs.h | 2 ++
fs/ntfs3/file.c | 27 +++++++++++++++++++++++++++
fs/ntfs3/inode.c | 1 +
fs/ntfs3/namei.c | 2 ++
fs/ntfs3/ntfs_fs.h | 1 +
include/linux/fileattr.h | 23 +++++++++++++++++++++++
15 files changed, 183 insertions(+), 12 deletions(-)

--
2.52.0