X

"Case-sensitive HFS" and the risks of using it

"Case-sensitive HFS" and the risks of using it

CNET staff
3 min read
Many users will remember that hard drive "journaling," now standard on Panther installations, was originally introduced in OS X 10.2 (Jaguar) as a "Mac OS X Server-only" feature; however, since the code-base of OS X and OS X Server are to a large extent identical, some users realized that they could enable journaling in the standard version of Jaguar via a simple Terminal command. This eventually led to the ability to enable journaling via a number of third-party utilities. Although a few disk utilities had trouble repairing journaled drives until they were updated, in general no serious harm was done by this type of experimentation.

We bring this issue up now because of a volume formatting option that has made its debut in Panther, officially only in OS X Server: Case-sensitive HFS. Although currently only Mac OS X 10.3 (Panther) Server allows administrators to easily format volumes using this new volume format, its mere existence is sure to spur some Mac users to try to find a way to enable it on their own computers. (It's actually possible to enable Case-sensitive HFS in Panther client via Terminal, but it requires you to completely erase your drive, which is a more effective deterrent than existed for journaling.) For those tempted to do so, we suggest that you avoid that temptation, at least until Apple and third-party vendors officially support it. Read on for the reasons why.

Mac OS file systems (HFS Standard and HFS Plus, aka HFS Extended) have traditionally been "case-insensitive" file systems. In other words, they do not recognize differences in case when it comes to filenames and filepaths. As far as HFS Standard and Plus are concerned, files named Text.txt and TEXT.TXT have the exact same name, and you can't have two such files in the same folder/directory. However, many Unix file systems, such as UFS, are case-sensitive. To these file systems, these two files -- Text.txt and TEXT.TXT -- have different names, and can co-exist in the same directory. Under a case-sensitive file system, the only way files are considered to have the same name is if every single character in the names match, including the case.

In order to improve OS X's ability to interact with other Unix systems, Panther includes Case-sensitive HFS as a potential file system. However, implementing a case-sensitive file system in OS X has some significant hurdles, the most compelling being that many current Mac OS applications that work with files will need to be updated to provide case-sensitivity themselves. This especially the case for backup and disk repair utilities. For example, using the two example files above, most backup applications will assume that they are the same file, and only back one up. (Dantz has already posted a warning to this effect in a Retrospect support document, stating, "Retrospect 5.1 does not recognize case-sensitive file names. If ?file? and ?FILE? exist in the same directory, only one will be backed up.") Likewise, most current Mac OS X disk utilities would see the two example files as two files with the same name, causing a number of problems when trying to repair/rebuild/reconcile drives and drive directories.

In other words, Case-sensitive HFS is not (yet) for the masses. We're sure there will be a curious type (or forty) who will be determined to figure out how to enable it on the standard OS X client. If such a procedure becomes available, we urge you to remember the old saying: just because you can doesn't mean you should.

Resources

  • warning
  • More from Late-Breakers