From: Chuck Lever NFS and other remote filesystem protocols need to determine whether a local filesystem performs case-insensitive lookups so they can provide correct semantics to clients. Without this information, f2fs exports cannot properly advertise their filename case behavior. Report f2fs case sensitivity behavior via the FS_XFLAG_CASEFOLD flag. Like ext4, f2fs supports per-directory case folding via the casefold flag (IS_CASEFOLDED). f2fs always preserves case at rest. Reviewed-by: Chao Yu Signed-off-by: Chuck Lever --- fs/f2fs/file.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index fb12c5c9affd..347568ff0d58 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -3463,6 +3463,14 @@ int f2fs_fileattr_get(struct dentry *dentry, struct file_kattr *fa) if (f2fs_sb_has_project_quota(F2FS_I_SB(inode))) fa->fsx_projid = from_kprojid(&init_user_ns, fi->i_projid); + /* + * Casefold is a per-directory attribute in f2fs; the on-disk + * name is preserved regardless. Report FS_XFLAG_CASEFOLD for + * casefolded directories so callers (e.g. NFS export) can + * advertise case-insensitive lookup semantics for that tree. + */ + if (IS_CASEFOLDED(inode)) + fa->fsx_xflags |= FS_XFLAG_CASEFOLD; return 0; } -- 2.53.0