Re: NFSv4.x export options to mark export as case-insensitive, case-preserving? Re: LInux NFSv4.1 client and server- case insensitive filesystems supported?

Cedric Blancher
2025-09-09T16:11:56Z

On Tue, 9 Sept 2025 at 18:06, Cedric Blancher <cedric.blancher@gmail.com> wrote:
>
> On Tue, 10 Jun 2025 at 07:34, Christoph Hellwig <hch@infradead.org> wrote:
> >
> > On Mon, Jun 09, 2025 at 10:16:24AM -0400, Chuck Lever wrote:
> > > > Date: Wed May 21 16:50:46 2008 +1000
> > > >
> > > > dcache: Add case-insensitive support d_ci_add() routine
> > >
> > > My memory must be quite faulty then. I remember there being significant
> > > controversy at the Park City LSF around some patches adding support for
> > > case insensitivity. But so be it -- I must not have paid terribly close
> > > attention due to lack of oxygen.
> >
> > Well, that is when the ext4 CI code landed, which added the unicode
> > normalization, and with that another whole bunch of issues.
>
> Well, no one likes the Han unification, and the mess the Unicode
> consortium made from that,
> But the Chinese are working on a replacement standard for Unicode, so
> that will be a lot of FUN =:-)
>
> > > > That being said no one ever intended any of these to be exported over
> > > > NFS, and I also question the sanity of anyone wanting to use case
> > > > insensitive file systems over NFS.
> > >
> > > My sense is that case insensitivity for NFS exports is for Windows-based
> > > clients
> >
> > I still question the sanity of anyone using a Windows NFS client in
> > general, but even more so on a case insensitive file system :)
>
> Well, if you want one and the same homedir on both Linux and Windows,
> then you have the option between the SMB/CIFS and the Windows NFSv4.2
> driver (I'm not counting the Windows NFSv3 driver due lack of ACL
> support).
> Both, as of September 2025, work fine for us for production usage.
>
> > > Does it, for example, make sense for NFSD to query the file system
> > > on its case sensitivity when it prepares an NFSv3 PATHCONF response?
> > > Or perhaps only for NFSv4, since NFSv4 pretends to have some recognition
> > > of internationalized file names?
> >
> > Linus hates pathconf any anything like it with passion. Altough we
> > basically got it now with statx by tacking it onto a fast path
> > interface instead, which he now obviously also hates. But yes, nfsd
> > not beeing able to query lots of attributes, including actual important
> > ones is largely due to the lack of proper VFS interfaces.
>
> What does Linus recommend as an alternative to pathconf()?
>
> Also, AGAIN the question:
> Due lack of a VFS interface and the urgend use case of needing to
> export a case-insensitive filesystem via NFSv4.x,

Just to clarify one of the use cases: If your Windows home dir is on
NFSv4, and try to install software like Chrome, Firefox, VMware as
user in your home dir, then you have a very good chance that all your
DLL files are spelled mixed case, but lookups for the DLLs come in as
either totally uppercase, or all lowercase. Sometimes all lowercase,
except the ".DLL" part.

If the NFSv4 attribute case-insensitive would be set correctly by
Linux nfsd all would be fine, but if not then the software will not
work. Unless you do what Microsoft support suggests: Please use the
Windows NFSv4.1 server, then all-is-fine(TM)!

Ced
--
Cedric Blancher <cedric.blancher@gmail.com>
[https://plus.google.com/u/0/+CedricBlancher/]
Institute Pasteur