[TUHS] MacOS X is Unix (tm)

Michael Kjörling michael at kjorling.se
Sun Jan 1 23:28:12 AEST 2017

On 1 Jan 2017 11:43 +1100, from downing.nick at gmail.com (Nick Downing):
> One significant area of non compliance with unix conventions is its non
> case sensitive filesystem (HFS and variants like HFS+ if I recall). I think
> this is partly for historical reasons to make Classic / MacOS9 emulation
> easier during the transition.

Just a side note, but ZFS takes the middle ground of making this a
trivially tunable option. Just set casesensitivity=[sensitive |
insensitive | mixed] on the relevant file system (that's right, like
almost everything else that matters in daily use in ZFS, it's a file
system property, not a pool property). I suspect that the major use
case for casesensitivity=insensitive is support for operating systems
that are normally used with case insensitive file name matching.

By setting `mixed`, userland software can apparently specify whether
it wants case-sensitive or case-insensitive matching on a per-request
basis. I suspect that requires ZFS-specific knowledge in the software.

Of course the default is `sensitive`.

Something similar to `mixed` could have been done in OS X and HFS/+;
just make the default case sensitive, and adjust on a per-process
basis if the process is running through the compatibility layer. (Or
the other way around, if preferred. It's not like either way would
have been significantly more work than the other, and it _would_ have
been moving the ecosystem in a Unixy direction.)

Michael Kjörling • https://michael.kjorling.semichael at kjorling.se
                 “People who think they know everything really annoy
                 those of us who know we don’t.” (Bjarne Stroustrup)

More information about the TUHS mailing list