linux-nfs / nfsd

Linux kernel source tree
Other
0 stars 0 forks source link

NFSD support for case-insensitive filenames #10

Open chucklever opened 7 months ago

chucklever commented 7 months ago

This was bugzilla.linux-nfs.org 374

[Chuck Lever 2022-01-04 15:34:18 UTC] Trond says:

With recent changes, Linux has several filesystems that either are case insensitive, or can be configured that way, so there should be an interest in having knfsd support it.

The NFSv4 protocol has support for case-insensitivity. However, at this time, no-one has the dev resources to take this on, so I'm parking the issue here.

chucklever commented 7 months ago

[J. Bruce Fields 2022-01-04 16:06:34 UTC] Taking a quick look:

I believe all we need is to support FATTR4_WORD0_CASE_INSENSITIVE.

So, for example, in the xfs case, FATTR4_WORD0_CASE_INSENSITIVE should return true iff has_xfs_asciici() is true for the given export.

I believe the actual nfsd code will be only a few lines. The challenging part will be finding a common way to query case insensitivity, and getting it right for all the filesystems.

Which shouldn't really be hard either, but will need a little help from linux-fsdevel.

Note that client patches at https://lore.kernel.org/linux-nfs/9d70f0d2d4adadbc843c6ee7f24edc82403cd67f.camel@hammerspace.com/T/#m839bc0925556587522b4129e1d3d5cabe8d5095d

make no assumptions about case mapping. So I believe all we need to do is return with FATTR4_WORD0_CASE_INSENSITIVE true for filesystems for which adding or removing a directory entry might add or remove (what appear to be) different entries.

chucklever commented 7 months ago

In addition to code changes, we need to augment our testing coverage for case insensitivity. fstests may already provide some coverage, but pynfs is unlikely to, yet.