Slashdot Mirror


ZFS For Mac OS X Source Code Available

nezmar writes "Noel Dellofano, who is part of the ZFS development team at Apple, has a post on Mac OS Forge announcing a late Christmas gift: he is making available binaries and source code, plus instructions, of the ZFS filesystem for Mac OS X."

30 of 251 comments (clear)

  1. Notes by asparagus · · Score: 5, Informative

    I installed this last week, got it working. It's still very early beta, managed to crash my machine half a dozen times before deciding to wait a little. Remember to do zpool exports before you eject external hard drives. But yes, very promising technology. OS X has gone from having a wonky 1/0 implementation to having one of the better software raid systems available. Back to scoping out four and eight drive usb sata enclosures and cheap 500gb hard drives. ;-)

    1. Re:Notes by Anonymous Coward · · Score: 5, Informative

      Well, if your looking for cheap HDs. Here is a GREAT script a guy wrote.

      http://forre.st/storage

      It works with newegg.com to find the best deals on HDs

  2. When do they say, "Just Kidding!" by osgeek · · Score: 4, Informative

    This reads like a nerd's unsubstantiated wet dream.

    An absolutely, positively, amazing feature set. I can't wait until it's stable enough for production use. After 7 years of staying away from Apple products, I'm going back to the Mac.

    1. Re:When do they say, "Just Kidding!" by larry+bagina · · Score: 4, Informative

      ZFS is also available in FreeBSD 7 and OpenSolaris (which should be the most stablest of all).

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  3. Re:Hmm by wootest · · Score: 5, Informative

    Since Apple employs Noel Dellofano, hosts Mac OS Forge, has incorporated the stable read-only bits in the latest Mac OS X Server and makes a slightly older build of the same code as the Mac OS Forge read/write version available on their developer web site, I think they approve.

  4. Re:Great new filesystems by mcowger · · Score: 4, Informative

    Consider my comment some of that.

    I've had no problems with 5T+ datasets, and we even get about a 10-20% performance boost out of it compared to UFS.

    snapshotting & all those neat features work totally as expected.

    Only minor issue I see is that a zfs send is single threaded, so you cant parralellize it over multiple processes easily.

  5. Re:The real questions are... by larry+bagina · · Score: 5, Informative

    a readonly version is included with leopard:

    sh-3.2# zfs
    Read-Only ZFS Implementation
    missing command
    usage: zfs command args ...

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  6. Best ZFS Presentation by this+great+guy · · Score: 5, Informative

    I have been using ZFS (on Solaris) for more than a year, both at work and at home, and I am following closely the latest developments. IMHO the best intro on ZFS is the official ZFS slides (36 pages): http://opensolaris.org/os/community/zfs/docs/zfs_last.pdf

  7. Re:Linux? by larry+bagina · · Score: 4, Informative

    It's not a technical problem preventing linux usage so much as a political problem and a license problem. Unless this convinces those zealots that 1) FUSE isn't good enough and 2) CDDL is FREE, it won't do jack shit for linux.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  8. Sun CEO Encourages Apple to Use ZFS by this+great+guy · · Score: 5, Informative

    I'd say Sun looks favorably upon this.
    Of course they do. Sun CEO Jonathan Schwartz encourages Apple to use ZFS (direct from his blog): "As an example, Apple is including ZFS is in their upcoming "Leopard" OS X release. This is happening without any payment to Sun (that's how truly free software works). Under the license, we've waived all rights to sue them for any of the patents or copyright associated with ZFS. We've let Apple know we will use our patent portfolio to protect them and the Mac ZFS community from Net App. With or without a commercial relationship to Sun."
  9. Re:Total garbage - has no error result codes! by _merlin · · Score: 5, Informative

    Total garbage - has no error result codes! Always assumes all writes have no failures, so unplugging a firewire drive or a USB drive or eSata drive guaranteed to either kernel panic or otherwise crash the OS.

    ZFS is designed to perform writes asynchronously. If the write should be able to complete, it returns success and then goes off to do it. It's a different way of thinking about a filesystem. You need to do a "zpool export" or something before you can unplug a detachable disk to avoid the panic when you unplug it. That's not a bug. It's by design.

    The Finder itself is lied to.

    No it isn't. You're just misunderstanding the semantics of ZFS.

    This is such an amateurish implementation, I am shocked that the source was even offered.

    No it isn't. It's just not a filesystem that's suitable for the masses. Average users cannot understand or manage an advanced storage pool system like ZFS. They're better off with filesystems that make sense to them, like HFS+, ext2 or NTFS.

    Shame on Apple for funding this quality of work.

    Shame on all the geeks for telling everyone that ZFS will solve all their problems. ZFS is great under certain circumstances. It does what it does very well, but it isn't a filesystem for the masses.

    I will admit, a few years ago, DURING BOOT, linux had a similar design bug and all IDE writes during boot had no error codes returned. But this is different. This is 2008.

    Just plain not reporting errors is a bug. ZFS asynchronous write semantics is intentional, although counter-intuitive, behaviour.

  10. Re:Linux? by lokedhs · · Score: 3, Informative

    The sources has already been available under an open source license since ZFS came out.

  11. Re:The real questions are... by wodgy7 · · Score: 5, Informative

    I've been running ZFS on my home Mac server since the old developer seed. It's generally stable as long as you disable Spotlight indexing on the volume (it's not supported yet). Everything on the command line works, as does accessing the ZFS pool over AFS. It's *very* easy to set up btw, much easier than setting up a RAID in Linux. There were issues deleting files from the Finder in the last release; I haven't installed the 102A release yet. Still, if you're just using it for a server volume, you'll probably be happy with it.

  12. "he is making" by Anonymous Coward · · Score: 5, Informative

    I know it may be unheard of to those reading /., but Noel is a girl.

  13. Re:The real questions are... by BrainInAJar · · Score: 4, Informative

    Or more to the point, OpenSolaris... because that's where it came from

  14. Re:Port it to Linux by flyingfsck · · Score: 3, Informative

    You should reformat with XFS.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  15. Re:The real questions are... by Anonymous Coward · · Score: 1, Informative

    You forgot:

    For LVM, one has to partition the disks first. If you're giving the whole disk to ZFS, just use something like "zpool create pool raidz c5t6d0 c5t6d1 c5t6d2 c5t6d3" (that's straight from memory - don't hold me to the exact syntax...). ZFS will partition the disks for you.

    One less thing to worry about with ZFS.

  16. Actually, by antijava · · Score: 5, Informative

    Noel is a she. I met her last year soon after Apple hired her away from Sun.

  17. Re:The real questions are... by wodgy7 · · Score: 3, Informative

    It's so that you can bring a ZFS volume to any old Mac running Leopard, plug it in, and read data off it, without having to install any extra (currently beta) software.

    This is also why, when you create a ZFS pool using the read/write drivers, it defaults to creating a pool with ZFS version 6 on disk, so that it's compatible with the version of ZFS shipping with Leopard. (You run "zfs update" to transform your pool to the most recent on disk version if this kind of compatibility isn't an issue for you.)

    BTW, Leopard also reads from BSD and Solaris-created ZFS drives just fine.

  18. Re:Total garbage - has no error result codes! by Nomen+Publicus · · Score: 3, Informative

    The design of ZFS is intended to ensure that the data on the disk is _always_ a valid file system. If a system panics when a ZFS file system is unexpectedly removed, that is a different issue.

    Then, of course, checksumming everything does wonders to protect against bit rot and flaky cables.

  19. Re:The real questions are... by xeno · · Score: 2, Informative

    "what good is a file system if you can't write to it?"

    I could say the same of NTFS. After throwing in the towel with regard to Windows as a base OS, I have years of accumulated data on NTFS volumes spread across a small pile of drives. Linux support for NTFS is still a little shaky. But with read-only access to NTFS, I can throw those old desktop or laptop drives into an enclosure, connect it, and either pull all the data over to a writable volume for ongoing work (and perhaps dispose of the old drive), or pick out individual pieces of data I want without worry of corrupting the volume.

    How does this apply to ZFS? Not sure, since "piles of old data" isn't a likely scenario on ZFS. But I can imagine accessing shared NAS/SAN ZFS volumes with only one system managing dynamic allocation... or perhaps ZFS in place of ISO9660 to speed up large software installations?

    --
    I think not...(*poof*)
  20. NTFS-3G on Linux is stable by Cato · · Score: 4, Informative

    Have you tried NTFS-3G? It really is very stable, no doubt due to the exhaustive testing regime on every release - see http://www.ntfs-3g.org/quality.html - and is used by default in most Linux distros. It's a different codebase to the older Linux-NTFS and Captive NTFS projects, and has reasonably good performance.

    Since ZFS is new, I don't think your scenario applies, and it's not intended for DVD/CD use.

    1. Re:NTFS-3G on Linux is stable by Anonymous Coward · · Score: 1, Informative

      I have experienced "hangs" when moving large files using NTFS-3G on a slow machine. At first I thought the machine had frozen, but after waiting for a while (a minute or so), things came back to normal. This happens quite often, and it is fairly annoying, but it has never actually crashed. So I still use it as it's the only viable option for storing large files on USB HDD's that can be shared between different platforms.

  21. Re:Great new filesystems by iluvcapra · · Score: 3, Informative

    Here's a link explaining the parent for all you c|net "reporters" and NYT technology stringers who read slashdot. You know who you are.

    --
    Don't blame me, I voted for Baltar.
  22. Re:The real questions are... by baadger · · Score: 2, Informative

    For LVM, one has to partition the disks first.

    No you don't, LVM Physical Volumes can be initialised straight onto whole unpartitioned disks (/dev/sda).

  23. Re:linux md is grow-able, as is xfs and ext3 by iPaqMan · · Score: 4, Informative

    You should watch these. (thanks andrewg for links)

    For anyone who has not seen the ZFS demonstration videos by Bill Moore you must watch the link.

    High Bandwidth versions - http://www.sun.com/software/media/real/zfs_learningcenter/high_band...

    Low Bandwidth versions - http://www.sun.com/software/media/real/zfs_learningcenter/low_bandw...

    Also general info here:

    - http://www.sun.com/software/solaris/ds/zfs.jsp
    - http://www.sun.com/software/solaris/zfs_learning_center.jsp

  24. Re:Linux? by Ash-Fox · · Score: 2, Informative

    If you really need ZFS, you can rather easily and painlessly move from Linux to Solaris.

    they are very similar OSs and both offer more or less the same userland (you can bring up the latest Gnome on both).
    Don't let this person miss-lead you. Solaris does not have the same userland available like most Linux distributions do, it doesn't even have a modern version of KDE (latest version on Solaris is 3.4.something while most distributions are running something like KDE3.5.6).

    There is no decent vast repositories either for Solaris which exist on major distributions (like Ubuntu) while there are alternative repositories/package management systems available for Solaris. Solaris just does not have the vast amounts of software that are available on the majority of Linux distributions. A common theme I see is that it doesn't even have simple ham radio software that I find even on smaller Linux distributions.

    That said, it is possible to create a virtual machine in Solaris which runs a Linux distribution of your choice (Solaris' kernel supports this), but in my experience, it seems slower than running the Linux distribution directly on the system and if you're getting ZFS for performance -- I don't think this sort of usage will help performance significantly.

    One other thing I might add, Solaris is not that easy to use compared to Linux distributions. There is no equivalent to even harddrake/restricted manager/YasT/systemsettings when it comes to configuring hardware support.
    --
    Change is certain; progress is not obligatory.
  25. Re:The real questions are... by Dare+nMc · · Score: 2, Informative

    filesystem fanboys?
    I have setup a few raid setups (LVM, and ZFS, and hardware based.)
    where ZFS is nice, their is a nice documented one way to do it. It's biggest advantage (for me) are a single interface for turning on/off encryption, compression, and file system snapshots. Things this does for you for example, is you can turn on compression for a entire volume, or directory within the filesystem but you don't have to take it offline ever, because it will compress new files only (to start), and you can then walk through the rest as CPU allows...

    You do have all these options for LVM, with ext3, but in the truly linux tradition, their are many, many different ways to do the same thing. So if you don't want to spend hours researching the how's and whys you easily end up creating more work for yourself. But I am sure if you do all the research you can create a more efficient solution. But you'll also end up with many different interfaces (that has advantages too). For example I am replacing a RHEL hardware raid with Solaris zfs raid now. To admin the RHEL solution, I use LVM to admin allocations, use ext3 to look for file system corruption, use the Raid manager program to add/remove/grow drives, and NFS to export partitions/permisions, and various webmin plugins for backups restores, file versions. All of these are now within the zfstools on solaris.

  26. Re:The real questions are... by Deagol · · Score: 2, Informative
    Unhappy about what? That the developers were kind enough to port and include ZFS into the mainline 7.0 tree? I can't really imagine that. Yes, some people may bemoan its stability as sub-par when compared to what people have come to expect from FreeBSD. I can't understand people bitching about that, though. It's not like it *must* be used -- it's not even an install option. You have to read up on it and know WTF you're doing to even get it running, never mind set it up as a root/boot volume.

    I've been running the 7.0 branch since about October '07, and I've been using ZFS. Granted, it's my home machine, but it's my primary workstation and I *need* this machine to bring home the bacon, working via home office and all. While I don't use it for important data, the file systems I chose were intentional in order to beat it up a lot: /usr/src, /usr/obj, and /usr/ports -- that's where all of the kernel/userlad/ports compiles take place (at least by default). Tons of reads/writes/delete since I update my ports and source trees almost daily. Never once have I had a problem. On a whim, I ran a zpool status once and found a corruption error on /usr/obj, but I never noticed because it just kept on chugging along. Not that /usr/obj is a terribly critical directory, one which I nuke on a regular basis to ensure a pristine system rebuild. Still, I ran a "zpool scrub" on it live, and it fixed the problem w/o ever going offline.

    Not only that, I also use the built-in compression (gzip9) on /usr/src and /usr/ports and my machine is amd64. The former really taxes the system, and the latter platform seems to lag slightly behind i386. Sometimes my machine has quick freezes when the ZFS file systems are being beat up, but my machine is only a 2.0GHz w/ 1GB of memory. For pre-release software, FreeBSD 7.0 really kicks some ass.

    Of course, anecdotes are not synonymous with data. ZFS obviously has some issues. But then again, so did reiserfs and ext3 when they were first cast into the mainstream kernel and distros. Sure, the BSD userbase with ZFS is *much* smaller than those of Linux, but I expect ZFS will shine in short order.

  27. I wish they'd finished UFS support first. by argent · · Score: 2, Informative

    UFS might not have all the bells and whistles of ZFS, but it's still been the most reliable and robust file system I've used in the past 25 years. It's got decades of work on making it stable and solid, and thanks to the tools available to work with it and the redundancy in the format I've even been able to recover data from UFS partitions that had been partially reformatted.

    HFS? I've had HFS partitions get corrupted just be letting them get too full. That's just nuts.

    ZFS? Sun says ZFS doesn't need file system check and repair tools, it can't fail. That's what DEC said about AdvFS, than then later on came up with salvage tools to pull data out of a damaged AdvFS file system. That's what the Linux folks used to say about Reiser FS, too. Even before the Hans Reiser incident it had become clear that it wasn't true, and I've got no reason to assume that ZFS will be any better, not over the long term.

    The only journalled file system I've found that has come anywhere near that goal has been Network Appliance's, and they have complete control over the hardware and software and no third-party applications and drivers running on the hardware. And, of course, few places have very many NetApps (we certainly never had more than 4 at a time) so I can't say that the apparent stability of our boxes isn't due to the fact that we simply never had many of them...

    Apple refreshed UFS for Panther, bringing in SoftUpdates to give it the performance advantages of journalling, then dropped it.

    Apple has created layers that run over network file systems that implement almost all of the application-visible differences between HFS and remote CIFS and NFS shares, but you can't take full advantage of these for local UFS file systems. Why not? Don't ask me, ask Apple.

    I blame corporate ADHD.