HFS+

Tim Seufert yellowdog-general@lists.terrasoftsolutions.com
Thu Jun 19 16:42:01 2003


On Thursday, June 19, 2003, at 09:16  AM, Christopher Murtagh wrote:

>  Having worked with Macs for more than 10 years, I can honestly say 
> that I
> have seen more corrupted HFS[+] file systems than anything else.

Under 9 or X?  My experience under X has been that HFS+ never gets 
corrupted unless there's a hardware problem or a traumatic event (loss 
of power, kernel panic, etc.).  With journalling enabled the latter is 
no longer a problem.  And the kernel panics have gotten few and far 
between; 10.2 is at least as stable as Linux on my Mac, more so when 
doing stuff where the OS X driver support is more mature (such as 
hardware accelerated OpenGL).

9 and earlier had poorly designed disk I/O / buffer cache code, a truly 
convoluted runtime environment for drivers and other OS level code 
which encouraged bug formation, and no way to prevent buggy apps from 
scribbling on internal OS data structures.  The miracle is that it 
worked as well as it did; the occasional FS corruption was just sort of 
a natural byproduct of the festering mess underneath the hood.

> The journaling took a pretty serious performance hit (from Apple's own 
> specs,
> which oftem means much worse in the real world).

IIRC the spec was 10-15% slower when writing, no change for reads.  In 
my experience this overhead is unnoticeable.  Very similar to ext3 vs 
ext2 on Linux: ext3 is slower, but not by enough to care about, much 
less give up journalling over.

>  It also is a 'case
> insensitive, case preserving' (read 'worst of both worlds')  file 
> system,

Why would this be the worst of both worlds?  The very users for whom 
case insensitivity is intended would also hate (with a passion) any FS 
that doesn't preserve case.

HFS+ is not the best FS for a traditional UNIX, but it's not the end of 
the world either.  ReiserFS is probably better than either ext3 or 
HFS+, yet it is fundamentally more similar to HFS+ than ext3 (both 
ReiserFS and HFS+ are B*Tree structured filesystems AFAIK).