Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

ZFS Shows Up in New Leopard Build

Posted by Hemos on Mon Dec 18, 2006 09:00 AM
Udo Schmitz writes "As a follow-up to rumours from May this year, World of Apple has a screenshot showing Sun's Zettabyte File System in "the most recent Build of Mac OS X 10.5 Leopard". Though I still wonder: If it is not meant to replace HFS+, could there be any other reasons to support ZFS?"
+ -
story

Related Stories

[+] Technology: Apple Looking at ZFS For Mac OS X 261 comments
Udo Schmitz writes "Apples Filesystem Development Manager, Chris Emura, is looking into porting Sun Microsystems' file system ZFS to OS X. At least this is what Sun's Eric Kustarz states on the ZFS mailing list. Is this a glimpse of hope for all those of us who think HFS+ isn't up to par for a 21st century OS? Next thing you know and they'll rewrite the Finder ..."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Zettabyte? (Score:3, Informative)

    by bigtomrodney (993427) * on Monday December 18 2006, @09:04AM (#17285270)
    Isn't the term 'Zettabyte File System' actually inaccurate now? I thought they dropped that and ZFS now only remains as a pseudo initialism [wikipedia.org]
  • Exciting! (Score:4, Interesting)

    by statusbar (314703) <jeffk@statusbar.com> on Monday December 18 2006, @09:06AM (#17285288) Homepage Journal
    Now that Vista is finalized, expect Apple to show more and more of the 'secret' features of leopard!

    --jeffk++
    • by DrYak (748999) on Monday December 18 2006, @09:11AM (#17285328) Homepage
      Now that Vista is finalized,

      Because if Apple showed them before, there was a risk that Microsoft tried to announce them as future features in their soon-to-be-released perfect Windows Vista ?
      • by statusbar (314703) <jeffk@statusbar.com> on Monday December 18 2006, @09:20AM (#17285432) Homepage Journal
        Nah, Microsoft would never do anything like that... They are a respectable company that does not misrepresent their products.

        --jeffk++
        • Re: (Score:3, Insightful)

          That said, there's zero chance (IMO) that Microsoft would add ZFS to Vista. They already dropped their transaction-based filesystem in order to get Vista out the door this decade. Adding ZFS support (much less using it as the default or recommended FS) would simply take too long, even if Apple had announced support a year ago.
  • copy-on-write (Score:4, Insightful)

    by Mr2cents (323101) on Monday December 18 2006, @09:15AM (#17285366)
    FTA:

    Makes use of copy-on-write; rather than overwriting old data with new data, it writes new data to a new location and then overwrites the pointer to the old data
    Wouldn't that pose a problem for mmap?
    • Re: (Score:3, Informative)

      Why? In today's world, writing to an mmap-ed file most certainly doesn't hit the disk for each write. Instead, a block of memory from the buffer cache is used to hold the changes. The only difference is that instead of being backed (VM-wise) by the swap file, the block is backed by the mmap-ed file.

      There's no real change here for ZFS, and it's unlikely that anything at the memory cache level even knows about the copy-on-write-ness of ZFS (or even cares).

      a
    • Re:copy-on-write (Score:5, Interesting)

      by TheRaven64 (641858) on Monday December 18 2006, @09:29AM (#17285566) Homepage Journal
      No. Mmap lives above the filesystem layer. Unless you are doing mmap on the block device, in which case you should realise that not everyone works for oracle...

      Mmap simple maps pages of a disk file into memory. If the disk file changes its physical location then the mapping is updated. When you call mmap, you give it a disk file, an offset, and an extent. It is up to the VFS layer to translate this into physical mappings. LFS has the same issues, and these were solved well over a decade ago.

      If you invoke mmap with MAP_PRIVATE, this actually makes it easier; if someone else updates the file then you just keep the existing mapping.

      • Right.

        Similar issues exist without problems when mmap()ing files from NFS. You cannot update just a few bytes with NFS, you have to write the whole disk block out.

        I'm fairly confident that the current "standard" way to implement mmap at the moment is to update the pages, mark them dirty, and let the VM subsystem write them to disk.

        I haven't had to look at mmap's implementation in a long time, though.. but IIRC Rich Teer and/or Adrian Crocroft had good articles about it a few years back.

        Obviously, I arrive
    • Re:copy-on-write (Score:5, Interesting)

      by Midnight Thunder (17205) on Monday December 18 2006, @10:29AM (#17286328) Homepage Journal
      FTA:

      Makes use of copy-on-write; rather than overwriting old data with new data, it writes new data to a new location and then overwrites the pointer to the old data

      Wouldn't that pose a problem for mmap?


      It may do, but like many things there are alternative approaches.

      From working on embedded hardware with flash memory, this makes me wonder whether possible addition of ZFS is meant to be for flash storage? Let me explain: flash memory has a fairly limited write-count, relative to hard disks, so to compensate for this memory is written in a circular fashion, to ensure that a given sector is written the least often possible. In addition to this, from what I can tell, Apple's main sales point are low profile computers and portables. The latter would benefit from flash storage as means of extending battery life, even if it is for a certain elements, such as for the OS which is accesed far more frequently than anything else on disk. Given this I wouldn't be surprised to see flash memory in future models of Apple portables, using ZFS, while HFS+ is still used for the hard disks.

      This is pure speculation, but I feel that it has a high probabilty of being near the mark.
      • Re: (Score:3, Informative)

        ZFS currently wouldn't work very well for flash storage systems under a certain size because of initial overhead. ZFS requires each device to be at least 64 MB in order to be added to a pool. Also the minimal overhead of ZFS is 32 MB. In other words if you take a 64 MB disk, format it to ZFS, you'll only have 32 MB of space available. As you add devices to the pool, this overhead grows, but at a pretty small rate.
    • Secure Delete? (Score:4, Insightful)

      by HTH NE1 (675604) on Monday December 18 2006, @11:23AM (#17287232)
      Wouldn't that pose a problem for mmap?

      I think it would pose a problem for secure deletes. Try to obliterate a file by overwriting it with garbage, you end up writing somewhere else instead? Would the next overwrite attempt get the original location or would you have to write enough garbage to cycle over all the free space of the volume? Considering how large these volumes can get, that's a lot of boiled oceans [wikipedia.org] for a multi-pass secure delete.
  • by ShyGuy91284 (701108) on Monday December 18 2006, @09:24AM (#17285474)
    I will be soon converting my Linux server to Solaris just for ZFS. Although ZFS may not terribly useful on a normal desktop, on a server, it's very powerful.... The idea of parity data actually being used actively to ensure data isn't corrupted is brilliant imho. So is the idea of on-the-fly recovery (I remember a video of some guy writing 30 megs of junk to a partition using dd, ZFS detecting it, and repairing it). *ends rant since all this can be read up about online*
    • by kestasjk (933987) * on Monday December 18 2006, @10:53AM (#17286686) Homepage
      It sounds good, but I think migrating for it just a tad extreme given that it will be implemented for Linux pretty quickly. We're talking about neat new features here, it'll re-enforce or make easier backups and redundancy, but it's not a to-die-for solution that will solve all your problems. There's no way I'd drop a fully configured server installation which does what I need for a new filesystem.

      By the way it's nice to see dtrace, open source Java, and now ZFS coming out of Sun recently. I almost feel sorry for how little they get out of a lot of their innovations, they remind me of Bell Labs just before they died.
    • Re: (Score:3, Insightful)

      Indeed, we may see Mac OS X Server supporting default ZFS before Mac OS X proper. It would make sense to deploy it first in a limited market with technical expert users as your target market.
              • by Sparohok (318277) on Monday December 18 2006, @01:18PM (#17289234)
                Hard drives silently losing data is a problem solved by RAID.

                That is profoundly wrong. Vanilla RAID will not discover and cannot automatically correct silent data loss. The reason is that RAID has no way of knowing which data is correct. For example, if two mirrored copies disagree on the contents of a block, the data is unrecoverable without manual intervention or external knowledge. Furthermore, in normal operation your RAID subsystem will simply read data from whichever drive is idle at the time the read request comes in; it does not ordinarily compare the two mirrors. The data will remain corrupted until the user notices a problem, at which point they have no practical recourse. Essentially the same problem occurs with parity RAID.

                There is no dedicated hardware in your system that provides the end to end data integrity that ZFS does. I honestly suggest you learn more about it before airing your opinions. Here is a start:

                http://blogs.sun.com/bonwick/entry/zfs_end_to_end_ data [sun.com]
                • Re: (Score:3, Informative)

                  If two mirrored copies disagree on the contents of a block, the data is unrecoverable without manual intervention or external knowledge.

                  Or, you know, a checksum. Or more than one level of redundancy.

                  I agree that RAID-1 cannot, by itself, correctly recover from error-free reads of mis-matched data. But RAID 5 and 6 are both capable of verifying the primary data source against the parity data and transparently correcting errors that occur on less than the critical number of disks. In the common configuration
  • by qwertphobia (825473) on Monday December 18 2006, @09:24AM (#17285490)

    If it is not meant to replace HFS+, could there be any other reasons to support ZFS?"
    Well, OSX 10.4 already supports FAT16, FAT32, and HFS, HFS+ (case sensitive and case-insensitive) and UFS. I don't see any obvuious conclusion that HFS+ is on the way out. Now if the OSX kernel AND os both support a ZFS-formatted partition as a boot partition, we might find it as an accceptable replacement, but otherwise I would think ZFS will be added for large enterprise SAN RAIDs and such.
      • Re: (Score:3, Insightful)

        Actually, if you are using UFS on any platform for "compatibility", then "sucks to be you". NeXT's/Apple's version may be a little farther out than other implementations, but UFS in general suffers from many mutually incompatible variants. In fact it is better to assume that any compatibility is purely accidental, you will have a better expectation level that way.
  • Obligatory (Score:3, Informative)

    by value_added (719364) on Monday December 18 2006, @09:25AM (#17285498)
    A clicky to the Wiki article on ZFS [wikipedia.org].
  • by TheRaven64 (641858) on Monday December 18 2006, @09:25AM (#17285504) Homepage Journal
    A few years ago, I sat down and worked out exactly what I thought a filesystem should do, and how I would implement it. At the time no filesystem came close. Then Sun released ZFS. Real documentation on it is hard to find (behind the marketing hype), but when I did track it down I discovered two things:
    1. They had implemented everything I thought they should, and
    2. That only accounted for about 40% of the features of ZFS.
    Calling it the last word in filesystems might be hyperbole, but I expect ZFS to last a good 10-20 years, which is quite respectable for a filesystem, and I wouldn't be surprised if it lasted longer. Is it a replacement for HFS+? Not yet.

    HFS+ is a very nice filesystem for single user systems with a single disk. It implements journalling, has reasonable performance, and has good metadata support. For the average users at the moment, the only real advantage of ZFS would be snapshots, and these are not too difficult to implement for other filesystems.

    ZFS, however, is much better when you have multiple physical disks. At the moment, only the top-end Macs have more than one disk. This is likely to change in two ways:

    1. Cheap flash,
    2. Network storage
    For a home user, ZFS could handle backups trivially by plugging in a large flash drive and adding it to the pool. I suspect this will be one mechanism Time Machine will use. Due to the way ZFS works, you can just mirror a part of the directory tree (e.g. /Users/aUser) onto the external disk. With a big external drive, you could mirror the entire disk onto it and also save snapshots (another Time Machine feature...). The same could be done with network storage. With the current price of hard drives, I wouldn't be surprised if .Mac started offering 10-20GB of storage space for remote backups using this mechanism (take a look at the NFS4 integration in ZFS to see how this could be done).

    ZFS is not needed as a replacement for HFS+ in 2007, but it probably will be in 2008-9. ZFS is a 128-bit filesystem, which means it is designed to last for a long time. We will probably never need a 128-bit filesystem (unless we actually want to build hard drives the size of planets with single-atom sectors), but we will need a 65-bit filesystem once we get to around 10 Exabytes. This won't happen with single drives for a while, but it will with RAID arrays.

  • by Bonker (243350) on Monday December 18 2006, @09:26AM (#17285510)
    The tech behind ZFS [sun.com] at least sounds very impressive, but I have to wonder how useful it is for workstation drives.

    I've never found plain-Jane posix permissions to be all that useful on anything other than the most basic of server environments.

    HFS has going for it all the fun stuff we've come to love apple for, such as transparent file customization like icons, labels, meta data, and whatnot through resource forks. I assume that these can be made to work with ZFS by making hidden files.

    What I'd really like to see is both that kind of functionality along with NTFS's really excellent ACL permission system implemented. ACL permissions are a godsend for people responsible for running a file store that's used by humans as opposed to automated processes. NTFS also has a great deal of capacity for meta-data, although not to the same level as HFS.

    NTFS is one of the few worthwhile things that's ever come out of Redmond. I wish more people would spend a bit learning from it without throwing it away simply because it's MS bloat.

    • by pesc (147035) on Monday December 18 2006, @10:03AM (#17285990)
      NTFS is one of the few worthwhile things that's ever come out of Redmond. I wish more people would spend a bit learning from it without throwing it away simply because it's MS bloat.

      I wish MS would let us. NTFS is worthless if you don't run Windows. And it hinders interoperability with other systems because its implementation and disk layout is secret/patented.

      Why, do you think, there is no stable implementation that can write NTFS volumes (other than the MS implementation)?

      Contrast this with ZFS which is released under an open source license.
    • by UtucXul (658400) on Monday December 18 2006, @10:04AM (#17285992) Homepage
      NTFS is one of the few worthwhile things that's ever come out of Redmond. I wish more people would spend a bit learning from it without throwing it away simply because it's MS bloat.
      I think the negative opinion some people (including me) have of NTFS come not directly because it is from MS, but come from the incompatibility with everything else. I can't (reliably) read/write to it from a Mac, Linux, or Sun. That leaves only people totally in the MS camp able to use it. It may have some nice technical features, but I can't ever see them, so it is a little hard to be impressed or care about them too much.
    • by pesc (147035) on Monday December 18 2006, @10:09AM (#17286080)
      I've never found plain-Jane posix permissions to be all that useful on anything other than the most basic of server environments. ...
      What I'd really like to see is both that kind of functionality along with NTFS's really excellent ACL permission system implemented.


      I wish you could read more about ZFS before suggesting how you could improve it by adding ACLs. It already supports them!

      http://blogs.sun.com/marks/entry/zfs_acls [sun.com]
    • by More Trouble (211162) on Monday December 18 2006, @10:13AM (#17286136)
      HFS has going for it all the fun stuff we've come to love apple for, such as transparent file customization like icons, labels, meta data, and whatnot through resource forks. I assume that these can be made to work with ZFS by making hidden files.

      You assume correctly, since most of that business is taken care of with Bundles. This is why it more or less works on UFS, which is already supported on Mac OS X, and has been for years. Forks & whatnot are really a legacy idea.

      What I'd really like to see is both that kind of functionality along with NTFS's really excellent ACL permission system implemented.

      That's funny! The HFS+ ACL system is Microsoft's ACL system, much to the chagrin of the Unix community.

      :w
    • What I'd really like to see is both that kind of functionality along with NTFS's really excellent ACL permission system implemented.

      Mac OS X Server 10.4 (Tiger) already has this. See: http://www.apple.com/server/macosx/fileprint.html [apple.com]

      There is a "File Services" white paper linked off of he above page but here is the relavant marketing:

      New in Mac OS X Server v10.4 are access control lists (ACLs), providing flexible file system permissions that are fully compatible with Windows Server 2003 Active Directory

    • by Circuit Breaker (114482) on Monday December 18 2006, @11:00AM (#17286814)
      A deadline scheduler (a-la ZFS) is wonderful when multitasking disk heavy apps. That does not happen too often on a laptop (or a desktop, for that matter), but I've had Windows (and on rare occasions, even Linux) work horribly under such load. ZFS' "worst case behaviour" is supposed to be significantly better than any other system in use today.

      NTFS's ACL system is horrible. While it has a lot of descriptive power, it's a pain to manage, the result being that it is almost never used. The old Unix model, while simple, is easy to manage, and as a result is often set up reasonably. Novell's "Trustees" model works much better than either, but for some reason it wasn't adopted by others.

      NTFS is slow and inefficient, fragments horribly, and lacks fundamental features such as proper symlinks (and only supports directory hardlinks). It has a reasonable journal implementation, and it supported large files before other systems did, but it's very outdated and does not compare favourably with any of the modern high performance file systems.
  • by FunWithHeadlines (644929) on Monday December 18 2006, @09:26AM (#17285522) Homepage
    See this Ars Technica article [arstechnica.com] where John Siracusa said back in August:
    "For Mac geeks of a certain persuasion, the first mention of a soon-to-be-revealed feature of Leopard during the WWDC keynote set off a mental chain-reaction. That feature was Time Machine, and the name alone was enough to cause one particular phrase to hammer in the mind of many people, including me: "New file system in Leopard!" It was even a bingo square. In fact, it was my personal favorite bingo square, and the one that I most looked forward to marking.

    But let's back up a bit. Why should the mere name "Time Machine" scream "new file system" to anyone? And why the excitement about a new file system in the first place? What's wrong with HFS+, Mac OS X's current file system? It's got journaling. It supports arbitrarily extensible metadata. It can even be case-sensitive to satisfy the Unix geeks. Does Mac OS X really need a new file system?

    In a word, yes. HFS was a state-of-the-art personal computer file system when it was first released...twenty-one years ago. HFS+ is only eight years old, but it's built on many of the design decisions of HFS. Progress marches on. Today, there are new capabilities that the best modern file systems have, but that HFS+, even with all of its recent additions, does not. Here's a short list.

    • Efficient storage and handling of very small files.
    • Logical volume management through a pooled storage model.
    • Improved data integrity using checksums on all data.
    • Snapshots.

    So it's about the snapshot ability of ZFS, and that's exactly what will be needed for Time Machine [apple.com].

  • ZFS + Timemachine (Score:3, Interesting)

    by jbolden (176878) on Monday December 18 2006, @09:31AM (#17285588)
    With ZFS we might be able to get some very powerful backup features into OSX. Most binaries files don't change most of their content, ZFS makes it possible to due meaningful differential backups on large binary files. So for example 200 versions of a word doc with sounds and pictures that got revised over 6 months get stored in maybe 3x the space of the last revision. Emails with the same attachments get stored in just a few k rather than taking a meg each.... If Apple has this all working together by 10.5 then TimeMachine will work far far better then people currently expect it to. A 50g drive will be backing up a terabyte of worth of files.

    • by cyclomedia (882859) on Monday December 18 2006, @10:46AM (#17286582) Homepage Journal
      I've been wandering about this and am insanely curious: if ZFS really does intelligently copy on write how far can it take it?

      for starters, does the FS "know" that i've just clicked "Save As" in my word processor? what about copy and pasting a file back into the same directory to make a local copy? Also? is it just within variations on the same file? if i have a particular setup exe on my system but forget, and download it again to the desktop surely the FS has no initial way of knowing that they are one and the same, does some funky heuristic happen?

      basically: does the OS's read/write/copy/delete functionality have to invoke copy-on-write via a FS API or is it built in for every single sector-sized chunk that gets stuffed into the FS?

      the next question is the one in my subject: how therefore do you define "capacity"? if i've got a bunch of files that take up 700mb on a ZFS device and try to back up to a (Joliet) CD will i get a message telling me that the CD doesnt have room? i can imagine this scenario being unlikely with optimised binary data (jpegs and mpegs) but if i'm backing up a dev environment with autobackups (main.c,main.c.bak.001,main.c.bak.002,etc.) and manually created and dated directory tree "snapshots" (dev,dev_backup_2006-12-18,dev_backup_2006-12-01,e tc.) then this could probably happen quite easily.

      • by jbolden (176878) on Monday December 18 2006, @02:44PM (#17290480)
        does some funky heuristic happen?

        Yes, I used something similar to ZFS for mass document storage a few years back. You do a complex checksum on the block level. Any two blocks with the same sum are the same. Each unique block is only stored once, though multiple files might link to it. You're right the file system doesn't know why you are using the same blocks over and over, but it doesn't care.

        if i've got a bunch of files that take up 700mb on a ZFS device and try to back up to a (Joliet) CD will i get a message telling me that the CD doesnt have room?

        Assuming you have repetitive block, yes.
  • by masklinn (823351) <slashdot.org@NoSpAM.masklinn.net> on Monday December 18 2006, @09:33AM (#17285598)

    if it is not meant to replace HFS+, could there be any other reasons to support ZFS?

    The answer is that it probably is meant to replace HFS+, but since ZFS is not bootable yet (including for Solaris 10) Apple can take the time to introduce ZFS, build tools for easier management, and let people get familiar with the FS before they have to drop HFS+.

    HFS' lifetime has already stretched far beyond what it should have, it's time for Apple to think of its next generation FS, and ZFS is an extremely promising FS with heaps of amazing features Apple has already started to integrate into its UIs with Leopard (Time Machine + ZFS Snapshots anyone?).

    ZFS also shows strong promises as both a home and a server FS.

  • They already have UFS and don't make it really usable, even after making a big deal about it being updated to the latest version from FreeBSD in Panther. It's a shame, too, because while HFS+ has a lot of nifty features all of them could be emulated over UFS or ZFS or any other file system (by putting the hooks for applications like Spotlight in the vnode layer rather than the file system - the vnode layer already has most of the hooks Spotlight needs), it falls far behind UFS in terms of reliability.

    In fact HFS+ is *so* bad that if it wasn't for a couple of apps that absolutely freak out if they don't have their pet un-emulated feature I would have gone to UFS long since... even if I lost Spotlight completely. Until my Mac I had never run into a file system that wasn't so badly damaged as to be unbootable that coudn't be repaired by fsck... but apparently with HFS+ just running it "too full" can trash it, and I lost my system disk on my old G4 three months running because of that!

    So I wouldn't hold out any expectations of ZFS being implemented in any useful way. They already have better file systems than HFS+ and they're not using them.
  • by csoto (220540) on Monday December 18 2006, @10:47AM (#17286604)
    I can imagine that using zfs send/receive to export/import pools would be an extremely efficient/safe method of replicating data. Perhaps some sort of ".mac mirror" could work. This would make Time Machine exceptionally useful, and I'd definitely commit extra $ for .mac services (if reasonable) for this.
    • Re:What a moron (Score:5, Insightful)

      by Udo Schmitz (738216) on Monday December 18 2006, @09:34AM (#17285610) Journal
      It's called compatibility.

      Wouldn't full NTFS support (or well, support for any FS more in use then ZFS today) make more sense?
      • Re:What a moron (Score:5, Insightful)

        by metamatic (202216) on Monday December 18 2006, @09:56AM (#17285900) Homepage Journal
        Wouldn't full NTFS support (or well, support for any FS more in use then ZFS today) make more sense?

        Yeah, I mean it's not like NTFS is defined and controlled by an organization renowned for its hostility to other platforms, reluctant to document things in a way that other people can implement them, and scared of interoperability, is it?

    • Re:What a moron (Score:5, Informative)

      by iPaul (559200) on Monday December 18 2006, @11:33AM (#17287370) Homepage
      You both miss the point of HFS+ and ZFS. In Solaris ZFS has not replaced UFS. ZFS is an elegant way to manage large amounts of storage tied together with inexpensive and simple SATA drives. If you have one disk in your Mac, ZFS probably will not be your choice. HFS+ will work very well and be very easy to manage. A file server with 3 or 4 750 GB drives however, might be cut up so that part of the storage is mirrored for safety, limited for certain uses, and spanned over drives for size. For example, 3 750's could be divided into 1 TB unmirrored storage, 250 GB mirrored, a temp area of up to 100GB and the rest (650+ GB depending on temp are usage) held in reserve. In addition ZFS does quite a bit of error checking on the data to avoid any possible corruption during reads. However, it will never replace HFS+ on an iMac for your average user.
        • Whatabout sun cluster 3? I particular, for the global filesystem?

          Last I looked, they said, "NO! NO ZFS! IF YOU TRY, THE MOONS OF URANUS WILL CRASH INTO PLUTO!"

        • Re: (Score:3, Interesting)

          Yes, that's the typical Apple solution: you can sort of use it, but if you really want to use it, you have to commit to using OS X. It's not a good proposition.

          Well, I would think that if you were going to move from Linux to an OS which supports ZFS, you would move to Solaris.

          I seriously doubt there will be an independent implementation of ZFS; that work would probably go into ext5. Even if there were (or if ZFS becomes GPL compatible), I doubt it will get much traction: Linux has had more powerful fil