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).