[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260123002904.GM5945@frogsfrogsfrogs>
Date: Thu, 22 Jan 2026 16:29:04 -0800
From: "Darrick J. Wong" <djwong@...nel.org>
To: Chuck Lever <cel@...nel.org>
Cc: Al Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>, Jan Kara <jack@...e.cz>,
linux-fsdevel@...r.kernel.org, linux-ext4@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-cifs@...r.kernel.org,
linux-nfs@...r.kernel.org, linux-api@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net, hirofumi@...l.parknet.co.jp,
linkinjeon@...nel.org, sj1557.seo@...sung.com, yuezhang.mo@...y.com,
almaz.alexandrovich@...agon-software.com, slava@...eyko.com,
glaubitz@...sik.fu-berlin.de, frank.li@...o.com, tytso@....edu,
adilger.kernel@...ger.ca, cem@...nel.org, sfrench@...ba.org,
pc@...guebit.org, ronniesahlberg@...il.com, sprasad@...rosoft.com,
trondmy@...nel.org, anna@...nel.org, jaegeuk@...nel.org,
chao@...nel.org, hansg@...nel.org, senozhatsky@...omium.org,
Chuck Lever <chuck.lever@...cle.com>
Subject: Re: [PATCH v7 07/16] ext4: Report case sensitivity in fileattr_get
On Thu, Jan 22, 2026 at 11:03:02AM -0500, Chuck Lever wrote:
> From: Chuck Lever <chuck.lever@...cle.com>
>
> Report ext4's case sensitivity behavior via the FS_XFLAG_CASEFOLD
> flag. ext4 always preserves case at rest.
>
> Case sensitivity is a per-directory setting in ext4. If the queried
> inode is a casefolded directory, report case-insensitive; otherwise
> report case-sensitive (standard POSIX behavior).
>
> Reviewed-by: Jan Kara <jack@...e.cz>
> Signed-off-by: Chuck Lever <chuck.lever@...cle.com>
> ---
> fs/ext4/ioctl.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
> index 7ce0fc40aec2..462da7aadc80 100644
> --- a/fs/ext4/ioctl.c
> +++ b/fs/ext4/ioctl.c
> @@ -996,6 +996,13 @@ int ext4_fileattr_get(struct dentry *dentry, struct file_kattr *fa)
> if (ext4_has_feature_project(inode->i_sb))
> fa->fsx_projid = from_kprojid(&init_user_ns, ei->i_projid);
>
> + /*
> + * Case folding is a directory attribute in ext4. Set FS_XFLAG_CASEFOLD
> + * for directories with the casefold attribute; all other inodes use
> + * standard case-sensitive semantics.
> + */
> + if (IS_CASEFOLDED(inode))
> + fa->fsx_xflags |= FS_XFLAG_CASEFOLD;
Curious. Shouldn't the VFS set FS_XFLAG_CASEFOLD if the VFS casefolding
flag is set?
OTOH, there are more filesystems that apparently support casefolding
(given the size of this patchset) than actually set S_CASEFOLD. I think
I'm ignorant of something here...
--D
> return 0;
> }
>
> --
> 2.52.0
>
>
Powered by blists - more mailing lists