From: Chuck Lever <cel@kernel.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org,
Chuck Lever <chuck.lever@oracle.com>,
Jeff Layton <jlayton@kernel.org>,
Volker Lendecke <Volker.Lendecke@sernet.de>
Subject: Re: [RFC PATCH] fs: Plumb case sensitivity bits into statx
Date: Fri, 26 Sep 2025 09:02:58 -0400 [thread overview]
Message-ID: <a99fdcba-ab77-4a40-bc97-9794ebfdb059@kernel.org> (raw)
In-Reply-To: <aNYUfyiVMaWtQ0V5@infradead.org>
On 9/25/25 9:20 PM, Christoph Hellwig wrote:
> On Thu, Sep 25, 2025 at 11:11:40AM -0400, Chuck Lever wrote:
>> + if (request_mask & STATX_CASE_INFO) {
>> + stat->result_mask |= STATX_CASE_INFO;
>> + /* STATX_CASE_PRESERVING is cleared */
>> + stat->case_info = statx_case_ascii;
>
> FAT is using code pages specified on the command line for it's case
> insensitivity handling, which coverse much more than ASCISS.
I noticed that a mount option controls whether the filename encoding is
UTF-8. Clearly this will need more logic to set the correct bit.
>> +/* Values stored in the low-order byte of .case_info */
>> +enum {
>> + statx_case_sensitive = 0,
>> + statx_case_ascii,
>> + statx_case_utf8,
>> + statx_case_utf16,
>> +};
>
> What are these supposed to mean?
For the moment, the meaning is unclear because I simply wanted to
demonstrate that more than one behavior can be reported. Someone with
greater expertise than mine can help refine the specific semantics.
> ASCII, utf8 and utf16 are all
> encodings and not case folding algorithms. While the folding is obvious
> for ASCII, it is not for unicode and there are all kinds of different
> variants.
Fair enough... this is the right spot to report those variants. Or we
can decide that is inconsequential or impossible and simply reduce this
to a single "filename case is {in}sensitive" bit.
> Also I don't know of any file systems using utf16 encoding
> and even if it did, it would interact with the VFS and nfsd using
> utf8. Note that the 16-bit ucs-2 encoding used by windows file systems
> is a different things than unicode encodings like utf16.
Sure, UTF16 can be dropped or replaced.
--
Chuck Lever
next prev parent reply other threads:[~2025-09-26 13:03 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-25 15:11 [RFC PATCH] fs: Plumb case sensitivity bits into statx Chuck Lever
2025-09-25 15:50 ` Amir Goldstein
2025-10-03 15:24 ` Gabriel Krisman Bertazi
2025-10-03 15:34 ` Chuck Lever
2025-10-03 20:43 ` Gabriel Krisman Bertazi
2025-10-03 21:05 ` Chuck Lever
2025-10-03 21:11 ` ronnie sahlberg
2025-10-03 21:15 ` Gabriel Krisman Bertazi
2025-10-04 17:27 ` Chuck Lever
2025-10-06 11:19 ` Christian Brauner
2025-10-07 17:18 ` Gabriel Krisman Bertazi
2025-10-10 11:11 ` Christian Brauner
2025-10-10 12:43 ` Chuck Lever
2025-10-10 14:49 ` Darrick J. Wong
2025-10-10 19:06 ` Gabriel Krisman Bertazi
2025-10-03 17:19 ` Steve French
2025-09-26 4:20 ` Christoph Hellwig
2025-09-26 13:02 ` Chuck Lever [this message]
2025-09-26 10:00 ` Jeff Layton
2025-09-26 13:05 ` Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a99fdcba-ab77-4a40-bc97-9794ebfdb059@kernel.org \
--to=cel@kernel.org \
--cc=Volker.Lendecke@sernet.de \
--cc=chuck.lever@oracle.com \
--cc=hch@infradead.org \
--cc=jlayton@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).