[GIT PULL] overlayfs updates for 6.18

From: Amir Goldstein

Date: Tue Sep 30 2025 - 03:58:48 EST


Hi Linus,

Please pull overlayfs updates for 6.18.

This branch has been sitting in linux-next for a few weeks,
but I added some RVB last week.

It has gone through the usual overlayfs test routines.

The branch merges cleanly with master branch of the moment.

Note that there is a small change to fs.h in this PR for the
sb encoding helpers.

This change is reviewed by Gabriel and Christian has agreed that I will
merge it through the ovl tree.

Thanks,
Amir.

----------------------------------------------------------------
The following changes since commit 1b237f190eb3d36f52dffe07a40b5eb210280e00:

Linux 6.17-rc3 (2025-08-24 12:04:12 -0400)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs.git ovl-update-6.18

for you to fetch changes up to ad1423922781e6552f18d055a5742b1cff018cdc:

ovl: make sure that ovl_create_real() returns a hashed dentry (2025-09-23 12:29:36 +0200)

----------------------------------------------------------------
overlayfs updates for 6.18

- Work by André Almeida to support case-insensitive overlayfs

Underlying case-insensitive filesystems casefolding is per directory,
but for overlayfs it is all-or-nothing. It supports layers where
all directories are casefolded (with same encoding) or layers where
no directories are casefolded.

- A fix for a "bug" in Neil's ovl directory lock changes,
which only manifested itself with casefold enabled layers
which may return an unhashed negative dentry from lookup.

----------------------------------------------------------------
Amir Goldstein (1):
ovl: make sure that ovl_create_real() returns a hashed dentry

André Almeida (9):
fs: Create sb_encoding() helper
fs: Create sb_same_encoding() helper
ovl: Prepare for mounting case-insensitive enabled layers
ovl: Create ovl_casefold() to support casefolded strncmp()
ovl: Ensure that all layers have the same encoding
ovl: Set case-insensitive dentry operations for ovl sb
ovl: Add S_CASEFOLD as part of the inode flag to be copied
ovl: Check for casefold consistency when creating new dentries
ovl: Support mounting case-insensitive enabled layers

fs/overlayfs/copy_up.c | 2 +-
fs/overlayfs/dir.c | 29 ++++++++++-
fs/overlayfs/inode.c | 1 +
fs/overlayfs/namei.c | 17 ++++---
fs/overlayfs/overlayfs.h | 8 +--
fs/overlayfs/ovl_entry.h | 1 +
fs/overlayfs/params.c | 15 ++++--
fs/overlayfs/params.h | 1 +
fs/overlayfs/readdir.c | 126 +++++++++++++++++++++++++++++++++++++++--------
fs/overlayfs/super.c | 64 +++++++++++++++++++++++-
fs/overlayfs/util.c | 6 +--
include/linux/fs.h | 27 +++++++++-
12 files changed, 254 insertions(+), 43 deletions(-)