Messages in this thread |  | | Date | Fri, 14 Sep 2001 23:39:22 -0700 | From | "Timothy A. Seufert" <> | Subject | Re: How errorproof is ext2 fs? |
| |
Otto Wyss <otto.wyss@bluewin.ch> wrote:
>At least ext2 and probably all the journalling fs lacks a feature the HFS+ >from the Mac has (bad tongues might say "needs"), to keep open files >without activity in a state where a crash has no effect. I don't know how >it is done since I'm no fs expert but my experience with my Mac (resetting >about once a month without loosing anything) shows that it's possible.
HFS+ (the file system, as opposed to implementations of it) has no such feature.
In fact, HFS+ is probably more vulnerable to file system damage than a FS like ext2, simply because it uses a B-Tree structure. B-Trees have their purposes (such as searching the whole FS for a file quickly, a capability very important to classic MacOS), but are generally not as robust as a simple inode FS like ext2.
The only thing which prevents damage from being common on MacOS 9 is the slow and unsophisticated MacOS 9 *implementation* of HFS+. I'm pretty sure it is synchronous and single-threaded. And the MacOS cache doesn't keep dirty buffers for any significant amount of time (no more than ~0.5s I think). These things mean that at any given point in time, the state of the HFS+ metadata on disk is probably coherent or close to it.
As others have mentioned -- if you want FS crash resistance somewhat more like MacOS 9, mount your ext2 filesystems sync. Be prepared for a huge performance loss. But the correct thing to do is to figure out why Linux is crashing and fix it -- Linux can and should stay up for months or years.
Also, under Darwin (aka the MacOS X BSD layer), the likelihood of damage to a HFS+ volume after a crash/reboot is significantly higher. Darwin has a high performance async HFS+ implementation with a real buffer cache behind it.
-- Tim Seufert - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |