|
|
Log in / Subscribe / Register

Case-insensitive filesystem lookups

Case-insensitive filesystem lookups

Posted May 25, 2018 20:17 UTC (Fri) by saffroy (guest, #43999)
Parent article: Case-insensitive filesystem lookups

To give further support to the idea of supporting case insensitive names:

FWIW in my day job I work on a proprietary userland distributed filesystem, to which I did add support for case insensitivity (per directory), in order to improve performance with Samba (see my other comment on Samba having to scan large directories).

It works pretty well, using libicu to do Unicode case folding. This means indeed that the file names are then restricted to valid UTF-8 strings (this includes all ASCII strings), which in practice isn't a very annoying restriction for us, considering that we enable case insensitivity when serving through Samba, and Samba itself already converts incoming file names to UTF-8.

I see some comments arguing that this complexity should be pushed to the UI: well, it's easier said than done, and anyone trying to do this ends up reimplementing a filesystem if they want the result to be even moderately efficient. Therefore, there is real value in having Linux filesystems that support case insensitivity.


to post comments

Case-insensitive filesystem lookups

Posted May 26, 2018 9:51 UTC (Sat) by k8to (guest, #15413) [Link] (1 responses)

The problem with making the filesystem 'smart' is that the applications which use the filesystem must be able to understand the smartness. In other words, making interacting with files complicated to achieve complicated user goals will introduce bugs across all programs.

I can't tell you the number of awful hacks I've had to do in order to deal with the strange behavior of OS X, where the filename you use to create a file is not guaranteed to be the filename of the file later. Putting this level of intelligence into the raw filesystem interface usually leads to these kinds of problems.

One thing is for sure, if you want to go down this road, filenames will have to have explicit encoding and locale info.

Case-insensitive filesystem lookups

Posted May 29, 2018 8:37 UTC (Tue) by dgm (subscriber, #49227) [Link]

> The problem with making the filesystem 'smart' is that the applications which use the filesystem must be able to understand the smartness.

It's worse than that. Some applications will need to be able to *undo* the smartness. It doesn't need to be said that this is hell, if not plainly impossible.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds