Slashdot Mirror


ZFS Set To Eventually Play Larger Role in OSX

BlueMerle writes with the news that Sun's ZFS filesystem is going to see 'rudimentary support' under OSX Leopard. That's a stepping stone to bigger and better things, as the filesystem will eventually play a much larger role in Apple OS versions. AppleInsider reports: "The developer release, those people familiar with the matter say, is a telltale sign that Apple plans further adoption of ZFS under Mac OS X as the operating system matures. It's further believed that ZFS is a candidate to eventually succeed HFS+ as the default operating system for Mac OS X -- an unfulfilled claim already made in regard to Leopard by Sun's chief executive Jonathan Schwartz back in June. Unlike Apple's progression from HFS to HFS+, ZFS is not an incremental improvement to existing technology, but rather a fundamentally new approach to data management. It aims to provide simple administration, transactional semantics, end-to-end data integrity, and immense scalability."

48 of 196 comments (clear)

  1. Does anyone proofread these articles? by tomRakewell · · Score: 5, Funny

    It's further believed that ZFS is a candidate to eventually succeed HFS+ as the default operating system for Mac OS X


    Macs are really going to stink if Apple changes their default operating system to ZFS. ZFS is a file system.
    1. Re:Does anyone proofread these articles? by McFadden · · Score: 3, Funny

      Does anyone proofread these articles?
      They haven't done for 10 years. You're expecting them to start now?
    2. Re:Does anyone proofread these articles? by Anonymous Coward · · Score: 2, Funny

      And, sadly, they will of course be correct.

    3. Re:Does anyone proofread these articles? by hackstraw · · Score: 3, Funny

      Macs are really going to stink if Apple changes their default operating system to ZFS. ZFS is a file system.

      Right, and emacs is a text editor.

    4. Re:Does anyone proofread these articles? by stefanlasiewski · · Score: 3, Funny

      Silly man. Everyone knows that Emacs is an operating system. It even runs VI.

      --
      "Can of worms? The can is open... the worms are everywhere."
    5. Re:Does anyone proofread these articles? by TheBrutalTruth · · Score: 2, Funny

      A good question for the Ask Rob Malda interview!

      --
      Enlightenment is a pipe dream. So where's the pipe?
    6. Re:Does anyone proofread these articles? by GPL+Apostate · · Score: 2, Funny

      It probably won't happen anyway. ZFS wasn't invented at Apple, and thus will never become an important part of 'The Mac.' Unless, of course, Apple buys Sun Microsystem. Then it's a certainty. (and of course, if that happens, Darwin will be ditched for OpenSolaris (which will be closed.)

      --
      Microsoft says legacy (serial/parallel) ports are bad. They don't obfuscate the hardware enough.
    7. Re:Does anyone proofread these articles? by phliar · · Score: 3, Insightful

      It probably won't happen anyway. ZFS wasn't invented at Apple, and thus will never become an important part of 'The Mac.'
      And Unix wasn't invented there either, but I'd call OS X "an important part of 'The Mac'".
      --
      Unlimited growth == Cancer.
    8. Re:Does anyone proofread these articles? by Durandal64 · · Score: 4, Insightful

      Apache wasnt invented at Apple. Neither was Samba. Neither was SSH. Neither was gcc. All of these things are very important in Mac OS X.

  2. Buzz compliant by suv4x4 · · Score: 3, Insightful

    end-to-end data integrity

    You can't talk about end-to-end data integrity when this is just a filesystem. It's only one tiny place where the data you store in said file system can wreck its integrity. Are there memory bus or in-memory check for integrity of data read from ZFS? What about applications?

    Also stop talking to ZFS. Very secret internal sources told me ZFS was supposed to be a bigger event in Leopard but Steve killed it because Sun scooped him. It has happened before folks!

    Don't scoop the Steve. You scoop the Steve and business is over.

    1. Re:Buzz compliant by Anonymous Coward · · Score: 4, Informative

      There is a in-memory checksum check for all data that is read, yes. If the checksum doesn't match ZFS tries to read the same data from another disk, in a mirror/RAID-Z setup.

    2. Re:Buzz compliant by caseih · · Score: 2, Insightful

      That's Steve's loss then. Too bad his own ego often gets in the way of things that could benefit the customer. Honestly, why should Sun really care what Jobs does with ZFS in the long run. Sure it'd be good for Sun in terms of publicity, and maybe even some royalties. But in the long run, I can't see it being that big of a deal for Sun.

    3. Re:Buzz compliant by jadavis · · Score: 5, Informative

      Are there memory bus or in-memory check for integrity of data read from ZFS? What about applications?

      They have defined what they mean by that claim already: they have a checksum (256-bit, I think) on every block, and that checksum is checked from the OS when the block is read.

      This will catch some errors that might otherwise go uncaught, which is important for servers that move a lot of data around.

      It will not catch a memory error at the wrong time, or a processor error that stores the wrong value, or an error in the brain of the person who reads the data from the screen.

      --
      Social scientists are inspired by theories; scientists are humbled by facts.
    4. Re:Buzz compliant by mikeee · · Score: 4, Informative

      IIRC, the block checksums are stored in the inode, not with the individual blocks. It turns out that one of the main failure modes of modern disks isn't reading a few bits wrong, but missing slightly on a seek and actually returning the wrong block! Block-included checksums won't find this, since it's still a valid block...

    5. Re:Buzz compliant by kithrup · · Score: 2, Informative

      Not quite... ZFS stores a checksum with each block pointer. So wherever you have a structure that indicates where the data is, there's also a checksum of that data. This also means that the block pointers themselves are checksummed with their pointers. And so forth. The only one that doesn't have a checksum with the pointer is the top-level root pointer, and they have multiple copies of that for redundant checksumming.

      And yes, for true integrity, you need ECC memory, and ECC CPUs. I don't know if the Intel CPUs have any sort of internal error checking; I have worked with processors that have.

  3. Time Machine by JayPee · · Score: 2, Interesting

    This is awesome and I knew there had to be something more interesting behind Time Machine. While I'm not that impressed with how it appears it's going to work in 10.5, later versions of OS X, with full ZFS support, will make Time Machine damned near magical.

    1. Re:Time Machine by aliquis · · Score: 2, Interesting

      No, time machine probably doesn't use ZFS atm and is implemented in some other way, read-only ZFS support are rather useless but probably easier to implement, and if Apple had got it all working (and Sun got it bootable, maybe they had now, it was a long time since I read about it) I guess they might had switched filesystems, or offer it as an option, or use it in timemachine.

      Anyway we will hopefully see it in a minor release update, I just hope they don't call it beta just to remove it later and not release it for real in 10.6 =P

    2. Re:Time Machine by LKM · · Score: 3, Informative

      Except Time Machine does not use ZFS.

  4. Re:Clearly ZFS is superior... by Trespass · · Score: 2, Funny

    It gives new meaning to the term 'Killer App'.

  5. Re:So.... BSD or Solaris??? by khb · · Score: 2, Interesting

    BSD and Solaris have compatible licenses. So new tecchnologies developed in either can potentially migrate to the other. That is, of course, the point of Open Source isn't it?

    A filesystem isn't a kernel, so leaping from the incorporation of ZFS into Darwin to a replacement of Mach and/or the BSD bits with Solaris is a bizarre one.

  6. Re:So.... BSD or Solaris??? by Anonymous Coward · · Score: 5, Informative

    Non standard tools and such

    Uh, Mac OS X is certified standard UNIX. Solaris is also certified standard UNIX. And they're both fully POSIX compliant.

    What are some examples of non-standard tools?

  7. Damnit! by pi_rules · · Score: 2, Funny

    Alright, who broke the comments? Seriously, I'm stuck in this "new" version and it doesn't make fuck-all of any sense to me.

    1. Re:Damnit! by colourmyeyes · · Score: 2, Funny

      Wait, a helpful response and not mere invective? This is Slashdot; are you sure you're in the right place?

      Thanks.

      --
      My grandmother used anecdotal evidence all the time, and she lived to be 120 years old.
  8. a true end by gEvil+(beta) · · Score: 4, Informative

    Unless I'm mistaken, this will mean the true end to resource forks on the MacOS. For those of you who aren't familiar with them, resource forks were a part of a file under the Classic MacOS (OS 9 and before) that contained icon information, filetype and creator codes, etc. This part of the file was only supported under the HFS and HFS+ filesystems, meaning the resource fork would get lost if you copied a file to a non-HFS/HFS+ filesystem (this is why files copied to FAT filesystems in the old days often wouldn't reopen on a Mac. It also explains the "Mac OS X" folder with underscored-dot files from archives created with OS X's built-in zip utility). With OS X, Apple rolled the resource fork into the "data fork" portion of the file, meaning the information was still there for legacy purposes. However, this is only supported under apps that know where to find the information. This change has the potential to cause some headaches for shops that have legacy files spanning several decades. OTOH, I'll be glad to see it finally go...

    --
    This guy's the limit!
    1. Re:a true end by Just+Some+Guy · · Score: 3, Interesting

      For those of you who aren't familiar with them, resource forks were a part of a file under the Classic MacOS (OS 9 and before) that contained icon information, filetype and creator codes, etc.

      I'll be happy to see them kill that obsolete feature. It's hard to implement everything-is-a-file semantics when some things are files, and others are combinations of random amounts of metadata.

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:a true end by nine-times · · Score: 2, Informative

      With OS X, Apple rolled the resource fork into the "data fork" portion of the file, meaning the information was still there for legacy purposes.

      That doesn't sound right to me-- or at least I'm not sure what you mean by that. OSX still has resource forks, but Apple basically told developers not to put important information in them anymore because they get lost so easily. They can't just push the resource fork into the data fork of the file, because in many formats there's essentially no space for that information. How do you store an icon, metadata tags, and a default application setting into a normal .txt file without making it into something that isn't really a normal text file?

      So right now, developers are only really supposed to use resource forks for things that don't matter much. So if they're stripped, you lose a little metadata, but nothing catastrophic. It used to be that some files would carry all their data in the resource fork, and that was a bit of a nightmare. You'd lose important information all the time. In order to protect resource forks a little while transferring them to other file systems and such, Apple made those little files that you mentioned that begin with dot-underscore. So copy a file to another filesystem, and it'll often dump the resource forks into those dot-underscore files so that OSX can recombine them later.

      I don't see how ZFS will change the situation greatly. Resource forks are just how HFS+ supports metadata. ZFS supports metadata too. I'm sure the technical implementation is different, but I bet you'll still risk losing your ZFS metadata if you move your file to a FAT partition. Or am I missing something?

  9. They said the same thing about UFS. by argent · · Score: 3, Interesting

    They made a big deal about the import of the latest UFS from FreeBSD in Panther, and their support for UFS was actually reduced in Tiger because they put the Spotlight hooks into HFS+ instead of using the hooks already in the vnode layer in Darwin.

    So don't do anything that would depend on them supporting ZFS.

    1. Re:They said the same thing about UFS. by Ilgaz · · Score: 4, Informative

      I don't think UFS using community would be happy about Spotlight anyway.

      Spotlight in current form tries to index every single source file, huge framework headers and there is no practical way to stop it. I have tried the Privacy pane as suggested and no, it doesn't explain my 130 MB of spotlight metadata after installing Developer tools and couple of GNU libraries.

      If they have checked the NeXT history, they would figure the UFS is the default,supported Filesystem on NeXT. As OS X is a mix of NeXT with FreeBSD and Cocoa/Carbon, it is pretty natural that UFS gets into it a bit lately but finally.

      I can imagine what Apple needs for supporting ZFS on startup volumes. Complete metadata and resource support. They could be happy with their ext3 plain filesystem but Apple using professionals REALLY label their files, sometimes change their icons, sometimes has to FORCE OS to open a file with a different version of suite (e.g. Quark 7 vs 6), add comments to them and professional software developers like Adobe still stores critical data on resource forks.

      If there is a way to make ZFS support all those features without huge hacks (like the ZIP _resource stuff), they would give up their HFS+. Another thing is, it must support every serious software (non hack) backwards. You may find yourself using a application from 2001 written in Carbon under OS X and only it can provide the tool you require.

      I am saying these since some elitists think Apple is backwards and stupid still supporting resource forks and implement special features to OS X just to give minimum compatibility with old applications.

      Before critising HFS+ and suggesting Apple to use plain, Unix filesystems, they should sit around in a professional environment such as a DTP house, Movie studio and see how all those "childish" "backwards" features are used by professionals in job.

      This is not a post against ZFS, I am just trying to explain why Apple can't magically move to another filesystem just because it has better features. Not even mentioning the "overhead" required by ZFS and the fact that there are some 2k/4k (Cinema) edit environments which you can't even enable journaling let alone adding another layer of overhead.

      Also while writing these, if I only used plain Unix tools without any "native Mac" Application, e.g. use OS X as Darwin with X11, UFS would be my choice of filesystem.

    2. Re:They said the same thing about UFS. by flaming-opus · · Score: 3, Insightful

      True, but the capabilities of UFS don't really exceed HFS+. ZFS, on the other hand, is a thoroughly modern filesystem. UFS is just as rusty as HFS+.

  10. Correcting errors in AppleInsider ZFS article by kuma · · Score: 2, Informative

    The AppleInsider article is largely vacuous...

    Please do not bother with this debunking (via Macjournals) unless you are truly interested. Thanks.

    http://www.macjournals.com/news/2007/10/04.html#a79

  11. Re:So.... BSD or Solaris??? by abigor · · Score: 3, Informative

    Even though OSX will still be Unix, will they'll move away from BSD and toward Solaris?

    I'm hoping not, since many things behave very oddly on Solaris. Non standard tools and such, but it would be one way to keep it from running on cracked PC's.

    2 cents,

    QueenB. Please go and stare at this page for a while: http://en.wikipedia.org/wiki/XNU

    If by "non-standard tools" you mean non-GNU, yes, but they are hardly odd.

    I have no idea what your "cracked PCs" comment is all about, and what it has to do with Solaris and ZFS.
  12. Re:So.... BSD or Solaris??? by Trigun · · Score: 3, Funny

    killall

    How many people have learned that one the hard way?

  13. I maintain: by teknopurge · · Score: 4, Interesting

    Sun is the new Bell Labs.

    Watch for the robotics coming out, very quietly, from Sun in the next 10 years.

  14. Non-Standard my ass! by kaiwai · · Score: 5, Insightful
    I'm hoping not, since many things behave very oddly on Solaris. Non standard tools and such, but it would be one way to keep it from running on cracked PC's.

    What are you smokeing - what ever it is, pass it this way. Non-standard or 'does not conform to the bastardised standards which GNU have embraced and extended'. Case in point, look at the number of nimrods who assume gnu grep and use gnu specific switches for their make scripts.

    It isn't Solaris that it is non-standard, it is those who insist on using GNU tools and their extensions to the standard which are the non-standard.

    1. Re:Non-Standard my ass! by GPL+Apostate · · Score: 2, Interesting

      Case in point, look at the number of nimrods who assume gnu grep and use gnu specific switches for their make scripts.

      That's no surprise. The GNU Project competes with Microsoft in the 'Embrace/Extend/Extinguish' derby.

      --
      Microsoft says legacy (serial/parallel) ports are bad. They don't obfuscate the hardware enough.
  15. Not so. ZFS could handle resources by Henriok · · Score: 5, Informative

    Hardly! ZFS have provisions for any number of "forks" in the file system, called "extended attributes" in ZFS. If Apple migrates to ZFS they have every chanse to use these attributes to provide for quite a seamless integration with previous filsystems. The file system is open source and Apple can prettymuch do what they like or need. Even NTFS have these features but MS seems to ignore them due to backwards compatability issues with FAT filsystems and Windows APIs

    You know.. Wikipedia is very handy to look these things up. Please do. http://en.wikipedia.org/wiki/ZFS

    --

    - Henrik

    - when the Shadows descend -
    1. Re:Not so. ZFS could handle resources by Trailer+Trash · · Score: 3, Funny

      You know.. Wikipedia is very handy to look these things up.

      Dude, we're still trying to get people to read the linked article. Let's not get too crazy.

    2. Re:Not so. ZFS could handle resources by EvanED · · Score: 4, Informative

      Even NTFS have these features but MS seems to ignore them due to backwards compatability issues with FAT filsystems and Windows APIs
      They are starting to do some stuff with them. The first major use I know of was with XP SP2. With that, when you downloaded a file from the internet, IE would mark it as such in an alternate stream. When the program was run, someone (I don't know who) would check for the presence of the stream and if it was there, would display a "this program came from an untrusted source, would you like to run it?" dialog.

      I would expect more uses as we move into the future, as Vista is pushing even heavier for NTFS (for instance, IIRC the installer didn't ask which file system I wanted to use and just formatted NTFS), and MS doesn't have to worry about, for instance, some 98 or ME user who upgraded to XP but is still running FAT so he didn't have to reformat. For my large partitions (~100 GB), I can't format as anything but NTFS. (I don't know about smaller ones; I have a 24 GB system partition but if I try to bring up the format dialog there it complains that I'm trying to reformat the drive with the OS and I don't want to do that.)

      Personally, I think that there's a lot of awesome stuff that you could use extended attributes and alternate streams (WHY are these separate concepts on some file systems?!) if only they would be preserved when you move stuff around systems, upload them, etc., and am somewhat resentful at Unix and POSIX for the fact that for ages they didn't do this stuff and hence it's really hard to move to using them because no one supports them because there's no demand because people haven't thought of what to do with them because they haven't seen what can be done with them because no one uses them because no one supports them because... :-) I've often wondered what operating systems would be like if we kept the knowledge of the last decades, but threw out everything that we had now and started from scratch without worry of backwards compatibility, and this is one of the things I would like to see change.

  16. Re:Translation: by lauwersw · · Score: 2, Informative

    Way easier to manage: only 2 commands! While now with an LVM you have to place your disks in the desired topology inside your LVM (RAID0, 1, 5, ...), format them, put a filesystem on, mount, file check, repair, whatever. With zfs you place disks in your pool and kinda mount part of it, that's it.

    There are some other things you could complain about: it makes less sense on hardware RAIDs with good management tools. They missed a chance to make it a distributed or clusterable file system (though they bought Lustre lately, who knows) and it's not possible to boot from it yet, but all in all it's a major step forward.

  17. Re:Clearly ZFS is superior... by Anonymous Coward · · Score: 2, Funny

    Uh... that is 'Killer.app' to you sir!

  18. built in LVM == Win by mikeee · · Score: 2, Insightful

    Actually, a built-in LVM makes a lot of sense if you stop to think about it; many of the things a LVM does could benefit from information only the filesystem has.

  19. folders are even worse by SuperBanana · · Score: 3, Interesting
    Resource forks are far better than the idiotic "everything is a folder" model.

    Want to upload that Keynote project to your friendly CMS via a web browser? Can't, because it's not a file, it's a #@$!ing FOLDER. You have to zip it first. Words cannot accurately describe how tiresome this becomes.

    It also makes data recovery (should the file get accidentally deleted) nearly impossible- the files inside the folder are not named uniquely or in any identifiable manner.

    ZFS isn't nearly all it is cracked up to be- among other things, you can't expand RAID-Z...absolutely moronic. I'm not even sure you can expand a simple mirrored pool. Users have been repeatedly asking for growing abilities, and the developer reaction was "just create a larger pool and move it over". That's hilariously stupid advice given that you usually don't have that kind of storage hanging around- not even in enterprise environments.

    There's simply no comprehension amongst the ZFS developers that virtually EVERY raid card on the market supports such an operation. Even more shocking was when one developer said (paraphrasing) "gosh, how would one even go about doing that sort of thing?"

    Don't get me wrong- checksumming and automatic disk scrubbing are features long overdue, but ZFS is not magic bullet.

    1. Re:folders are even worse by kithrup · · Score: 4, Informative

      It's true that you can't expand a RAID-Z set (I think, anyway -- if you replace all of the drives, one at a time, does that work?), but you can add another RAID-Z set, and expand the pool.

      That's the big thing in ZFS, combining all of the resources into a pool, rather than treating disks (or groups of disks) as part of a volume. The other part of this was making filesystems nearly as light-weight as directories.

      My plan is to use twinned drives, adding them as a mirror to the pool. I can replace each drive individually, let it re-silver, and then do the same with the other, to expand it, or I can simply add another pair of drives to the pool, and get more space that way. There are advantages and disadvantages to each.

      Oh, as for resource forks -- the model that Sun is choosing (as are some others) is that the extended attributes are treated as sub-files to a directory. I'm not sure that simply going to a directory is not a better idea, but that has a whole slew of its own problems. It's a bit ironic, really -- Apple had an idea from the beginning, and every application was prepared to deal with it, but nobody else did the same thing. Then, when Apple went with the flow, everyone else started trying to do what Apple did... and none of the applications are prepared for it.

      I'm not sure how it'll all turn out.

  20. Re:So.... BSD or Solaris??? by memfrob · · Score: 5, Informative

    Uh, Mac OS X is certified standard UNIX.

    According to the Single Unix Standard, only Mac OS X 10.5 (Leopard) can be considered "Unix". And only when deployed on Intel-based Macs. Previous versions must be considered like Linux: "Unix-like".

    FWIW, Sun's operating system (SunOS) has been fairly close to Unix standards over its lifetime. In fact, the official version of System V release 4 was written by Sun and called SunOS 5, integrated into Solaris 2

    Why is anyone even having this argument? GNU means "Gnu's NOT Unix" for a reason...

    --
    The Wizard utters the word 'frobnoid!' and cackles gleefully
  21. Re:So.... BSD or Solaris??? by memfrob · · Score: 2, Informative

    What's so bad about killall?

    You should get out more: (from the Linux manpage)

    Be warned that typing killall name may not have the desired effect on non-Linux systems, especially when done by a privileged user
    ...and from the Solaris manpage:

    killall is used by shutdown(1M) to kill all active processes not directly related to the shutdown procedure
    ...which might explain why many linux distributions have begun including the solaris-like "pgrep" and "pkill" commands...
    --
    The Wizard utters the word 'frobnoid!' and cackles gleefully
  22. even then by m2943 · · Score: 2

    According to the Single Unix Standard, only Mac OS X 10.5 (Leopard) can be considered "Unix".

    Even conforming to the standard means that it is "UNIX" only in one sense; in terms of its internal architecture, OS X is still completely different from a traditional UNIX.

  23. UFS has an FSCK that really works by argent · · Score: 2, Interesting

    True, but the capabilities of UFS don't really exceed HFS+

    In one way, at least, UFS is far better than HFS+.

    The internal redundancy in UFS means that so long as the basic file system structures (directories, inodes, and indirect blocks) are intact, it can be repaired. The idea of having file system damage in a bootable file system that can't be repaired by FSCK is all but inconceivable for UFS or any of its precursor file systems. In nearly 30 years working with UNIX, once FSCK was introduced I *never* had a file system so damaged that FSCK couldn't completely restore the structure to working order. Three times now I've had HFS+ file systems require a backup and restore because of some obscure damage that even rebuilding the catalog wouldn't fix. A friend of mine is currently booting his Mac Pro off the second drive because the original installed file system was trashed.

    ZFS claims "you'll never have to fsck again". That's what every journalled file system proponent says. That's what they said about XFS... until they came back with tools to do repair and you still had to reinstall to recover sometimes. I'll believe it when I've seen it in practice for a decade or so. What does ZFS do when it hits unrecoverable data in the file system structure itself?

    UFS's fsck deals with it by rebuilding the file system structures so that they're valid, and tells you what you lost.

    HFS+ tells you that you have some obscure catalog problem and you go out and buy DiskWarrior and hope your backups are in good shape.

    XFS apparently gives you a chance to do a final backup.

    What does ZFS do? The write-ups on ZFS indicate that they stop short of testing that case, and that's the most important one.

    1. Re:UFS has an FSCK that really works by Anonymous Coward · · Score: 2, Insightful

      The internal redundancy in UFS means that so long as the basic file system structures (directories, inodes, and indirect blocks) are intact, it can be repaired. This has nothing to do with 'internal redundancy', it has to do with filesystem metadata not being as easy to damage. UFS maintains a kind of free list to allocate new blocks, whereas HFS+ and JFS and XFS use bitmap allocation. If you stomp on part of a bitmap it's way worse than stomping on part of a list. ZFS on the other hand has a tree of blocks and can keep a configurable number of redundant copies on each drive and there are sometimes older copies that exist depending on how full the filesystem and how much has been written.

      In nearly 30 years working with UNIX, once FSCK was introduced I *never* had a file system so damaged that FSCK couldn't completely restore the structure to working order. That's nice. In 20 years working with Unix and Unix-like systems I have had several UFS filesystems be unrecoverable with fsck. I've had a JFS be *completely* destroyed just by doing sync() calls too often. Probably you were using the good hardware that UNIX (as opposed to Unix or Linux) typically runs on.

      Three times now I've had HFS+ file systems require a backup and restore because of some obscure damage that even rebuilding the catalog wouldn't fix. A friend of mine is currently booting his Mac Pro off the second drive because the original installed file system was trashed. Can I suggest not filling your drive up completely with porn and movies and music or whatever else you are filling up the drive with? HFS+ has a problem when more blocks need to be allocated for the catalog and there are no blocks which can be used, it ends up with files and catalog sharing blocks and the catalog getting destroyed catastrophically. It could be fixed but it looks sufficiently annoying that they would rather have it occasionally fail instead of messing with it.

      Conceptually HFS+ is far better than UFS, the problem is just one of implementation.

      What does ZFS do? The write-ups on ZFS indicate that they stop short of testing that case, and that's the most important one. It is written up in many places, you just missed it. ZFS keeps a configurable number of backup copies of any metadata and all metadata is checksummed separately, so even on a single drive it's almost impossible for the data to not be recoverable. Because the filesystem itself can detect all errors (other than the 1 in 2^160 chance of an error *and* hash that perfectly matches it) it does the repairs itself (other fs don't know if a block is wrong so they can't fix it easily, which is why you need a separate tool). There could be a use for a separate tool that would recover partial files, ones that had been deleted a long time ago and part of its blocks reclaimed, but there's no need for a fsck and this is not possible with other filesystem anyway (since they rewrite in place
      ).

      ZFS claims "you'll never have to fsck again". That's what every journalled file system proponent says. ZFS is not a journaled filesystem, it's a log-based one. "Journaled" filesystems only journal the metadata, because they have to do everything twice: first write to the journal anything that should be guarenteed, then wait for it to sync, then write the data to the 'disk'. A log-based filesystem basically writes the 'diff' to the disk then says 'this is the new state'. It's more like a (good) kind of subversion or version control that forgets old revisions from time to time.