10 ms·
Filenames only exist for humans. I'm sure the machine would be plenty happy with just a number to identify each file. So if people prefer case insensitive names
by postalrat 6y ago
Filenames only exist for humans. I'm sure the machine would be plenty happy with just a number to identify each file. So if people prefer case insensitive names they should get them.
- ses1984 6y agoSo then have another layer that shows insensitive things that point to files on the file system but leave the actual file system to simply map each unique identifier to a file.
- pwinnski 6y agoThat's what we have: inodes are unique identifiers, and names are for humans.
- zajio1am 6y agoWell, that is not true. POSIX API is fundamentally filename (and filehandle) based, access rights are path (and therefore filename) based, while inodes have flat (per filesystem) namespace. Inodes are mostly internal implementation detail that unfortunately leaked into some abstractions.
- pwinnski 6y agoAs a matter of API, yes. Conceptually, though, inodes are unique per filesystem, and names are not. Given symbolic links, even assumptions about path+filename are not always correct.
- sumtechguy 6y agoNTFS is case sensitive. The default is to turn it off. That is a historical accident from its DOS roots. It works decently until you somehow manage to get two files with different cases in there. Had to chase that a few times 'what do you mean Abc.txt has not been edited there I clearly see a abc.txt' Then findout you are editing one and looking at the other. So case insensitive makes natural sense for my brain. But it can be infuriating if the system has edge cases where it will do both. Chased one a few months ago in an npm repo. The thing had 2 files. On the dev box works fine (windows). Off the build machine (linux) not so much. One happened to pick the right file the other did not.
- brmgb 6y agoTechnically, POSIX machine already identifies each file using a serial number. This defines a specific inode. File names are stored into directory entries which are just specific files mapping names to inodes. Multiple names can already point to the same inode. So everything is determined by how you interpret directory entries.