Slashdot Mirror


Sun CEO Says ZFS Will Be 'the File System' for OSX

Fjan11 writes "Sun's Jonathan Schwartz has announced that Apple will be making ZFS 'the file system' in Mac OS 10.5 Leopard. It's possible that Leopard's Time Machine feature will require ZFS to run, because ZFS has back-up and snapshots build right in to the filesystem as well as a host of other features. 'Rumors of Apple's interest in ZFS began in April 2006, when an OpenSolaris mailing list revealed that Apple had contacted Sun regarding porting ZFS to OS 10. The file system later began making appearances in Leopard builds. ZFS has a long list of improvements over Apple's current file system, Journaled HFS+.'"

104 of 384 comments (clear)

  1. The were going to use Reiser by Anonymous Coward · · Score: 4, Funny

    But they killed that project.

    1. Re:The were going to use Reiser by dch24 · · Score: 2, Interesting

      As a linux user, I have found good use for ReiserFS. However, I've been asked time and again "why doesn't my iPod work with Windows"? If they move to an open source file system, iTunes for Windows could easily include a ZFS driver. (Correct me if I'm wrong, but some sort of ZFS driver is in the Linux kernel, and Sun is open sourcing Solaris.)

      I like having an mp3 player that doubles as a backup device for my important files. But some of my files are > 4Gb, so FAT32 doesn't work.

    2. Re:The were going to use Reiser by soleblaze · · Score: 3, Interesting

      ZFS cannot be added to the linux kernel due to licensing issues. However, there is work being done on a FUSE module for ZFS support. Though I'm not sure if it'll be worth using for anything more than accessing existing ZFS partitions.

    3. Re:The were going to use Reiser by brunascle · · Score: 4, Informative

      Correct me if I'm wrong, but some sort of ZFS driver is in the Linux kernel
      i dont think there is (could be wrong). something about a licensing problem. but apparently some people have gotten it to work in linux using FUSE. (more info)
    4. Re:The were going to use Reiser by Anonymous Coward · · Score: 4, Funny

      You know, having a project like that canceled is very stressful for developers. It must have been murder on their families, too.

      Oh God. I can't sign my name to that.

    5. Re:The were going to use Reiser by Hes+Nikke · · Score: 3, Insightful

      If they move to an open source file system, iTunes for Windows could easily include a ZFS driver.

      and since apple has all the rights and source to HFS(+)(Journaled) they can just as easily write a windows driver for it as well.
      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    6. Re:The were going to use Reiser by TheVelvetFlamebait · · Score: 2, Insightful

      If you don't like geeks discussing their experiences with technology, you could always, y'know, stop reading slashdot!

      --
      You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
    7. Re:The were going to use Reiser by SuiteSisterMary · · Score: 5, Funny

      Am I missing any other notorious Slashdot cliche?

      I don't use Slashdot cliches, you insensitive clod!

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    8. Re:The were going to use Reiser by tpjunkie · · Score: 2

      In soviet russia, slashdot cliches use you!

    9. Re:The were going to use Reiser by Sancho · · Score: 2, Interesting

      You mean, the CDDL's restrictive nature. Semantics. Each license restricts you from using the other. The GPL is generally more restrictive, but since you have to relicense under the GPL, further restrictions to modified software cannot be added. The CDDL has a restriction (regarding attribution) which must accompany any CDDL derivative work. Therefore, the licenses are incompatible. If the CDDL did not require attribution, or if the GPL allowed further restrictions to be placed upon derivative works, the licenses would be compatible (as I understand the issue, at least).

      Sun's patents prevent a compatible reimplementation of ZFS from being imported into the Linux kernel, so you won't see that, either. The most we'll get is a CDDL-licensed FUSE module. And that sucks.
    10. Re:The were going to use Reiser by Fex303 · · Score: 2, Funny

      Netcraft confirms it!

      I'm getting this engraved on my tombstone...

    11. Re:The were going to use Reiser by innerweb · · Score: 2, Funny

      Normally a License, but under a full moon, it mutates and attacks projects that are not corrupted.

      --
      Freud might say that Intelligent Design is religion's ID.
  2. As Homer would say... by dsginter · · Score: 2, Funny

    Mmmm... Boiled Oceans!

    --
    More
    1. Re: As Homer would say... by afidel · · Score: 2, Interesting

      Actually he proved it with some cool math. Basically there is a certain amount of entropy which must be overcome to initialize a bit of data, multiply that small amount of energy by the number of bits in a 128bit filesystem and you get enough energy to bring all of the earths oceans to a boil. It was one of the best examples for the scale of large numbers I've come across.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  3. I'm giving odds... by Telephone+Sanitizer · · Score: 5, Informative

    Well, not in THIS forum. But elsewhere.

    5:1 that it's not the default root file system in Leopard.

    The first bootable release of ZFS (not "BUILD," but "RELEASE") isn't even due until the Fall.

    I'm not alone in this skepticism. See this Ars story, for example.
    http://arstechnica.com/journals/apple.ars/2007/06/ 06/sun-ceo-jonathan-schwartz-zfs-to-be-the-file-sy stem-in-leopard

    1. Re:I'm giving odds... by Vellmont · · Score: 2, Insightful


      5:1 that it's not the default root file system in Leopard.

      It would be foolish to make any new technology that touches so many other applications and parts of the OS the default when you don't have to. It's much smarter to make it an option and try to shake out any problems that arise. Then make it the default at a later date.

      --
      AccountKiller
    2. Re:I'm giving odds... by FuturePastNow · · Score: 4, Interesting

      The first bootable release of ZFS (not "BUILD," but "RELEASE") isn't even due until the Fall.

      OSX 10.5 ain't due 'til Fall, either.

      --
      Give a man fire, and you warm him for the night. Set a man on fire, and you warm him for the rest of his life.
    3. Re:I'm giving odds... by 0xABADC0DA · · Score: 5, Informative

      Are you kidding? This is ZFS we're talking about.

      ZFS is several orders of magnitude better at streaming large files like are used in video editing, which is already a huge draw for Macs. Since it is copy-on-write, writes are done without seeking so are very fast and can be spread out across multiple drives in parallel. IIRC within a zfs pool (collection of drives) you can make different 'filesystems' mirrored or striped, so you can have a /video that is striped and ultra-fast whereas /home is mirrored and fault-tolerant.

      You can take your 100gb video and instantly say 'snapshot this' then make any number of changes to it and if you don't like it just revert back again. Contrast to every other filesystem (besides spirolog) where you have to make a 100gb copy as a backup -- which takes forever, so nobody does it unless they have to.

      You can drop in a new drive and say 'use this drive' and your existing filesystem instantly has more space available and it is more fault tolerant or faster or both. If you want to remove a drive you say 'dont use this drive' and you can still use the OS normally while it moves data off to other drives.

      Something like ZFS, that "touches so many other applications and parts of the OS" has to be the default. Otherwise you have to support two completely different ways of using the system. And that bloat and complication costs a lot more than just getting it right through extensive testing. If you are really worried about it, don't upgrade the OS for a while.

    4. Re:I'm giving odds... by Vellmont · · Score: 2, Insightful


      Are you kidding? This is ZFS we're talking about.

      Right, I'm sure it won't wind up breaking some important application at the expense of adding a wiz-bang feature that 95% of the users couldn't care less about.

      I'm not a Mac user, but even if I could (maybe I can) add ZFS to my Linux workstation I wouldn't. I prefer stable and reliable over untested new features. I think most people feel the same way, so making the default something else makes a lot of sense. If ZFS is as great as you say, it will eventually become the default, and anything it breaks that's important will have been fixed.

      --
      AccountKiller
    5. Re:I'm giving odds... by jellomizer · · Score: 5, Interesting

      If you were a Mac User you realize that Apple does stuff like this a lot, and they are quite good at it too.

      The Move from Classic (OS 9) to OS X forced people to Recompile/Port or Die from obsoleteness modernized almost all the software for Mac OS X. This removed a lot of Old Hacky code from the code base and forced developers to follow a more modern programming style.

      Next it was the move from Power PC to Intel. This once again required a full recompile but this time is assured that the recompile was with their own development tools. So more hacky code was removed and replaced with more standardized system calls.

      Now with ZFS on Mac OS X it is more likely that most things will work just fine with ZFS because Apple Knows what most of the calls to the OS will be. And the bulk of the legicy code has been updated.

      Windows, Linux and traditional Unix OS Devlopers don't normally Break Compatibility so often so their hacks to work around a shortfall in an OLD version of the OS holds threw to the following versions of their software on newer versions of the OS. So migrating OS ZFS on Linux is much more risky then moving to ZFS on OS X.

      But it is a trade off of getting Modern Software and paying more $$$ for the software. or Pay less for the software but make it hard to upgrade to a better system in the future.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    6. Re:I'm giving odds... by Anarke_Incarnate · · Score: 3, Interesting

      After 2 months of trying ZFS out in a non-prod environment, we reverted to UFS because ZFS was not as fast on 8k random reads and appeared to use a ton more RAM. In actuality, it used less than perceived but try explaining that to developers and DBAs. UFS will use system RAM for cache and report it as free RAM, then relase it when another process needs it. ZFS does similar things (with worse memory accounting) though if it uses system RAM for cache it reports it as used. A bug had to be squashed in ZFS regarding purging pages of cache when the system requested it back, because it would page out faster than it could account for doing so and cause massive thrashing in RAM. That has been fixed, however.

    7. Re:I'm giving odds... by rho · · Score: 2, Interesting

      Apple has traditionally been in favor of forcing devices, such as not putting arrow keys on the original Mac keyboard.

      Their philosophy tends to be of a benevolent dictator like Linus. Apple is going to make you do some things, and it's for your own good. If you're not happy with it, usually you can do something else if you have the technical skill, or you can just go get a Winders box. This has meant Apple's been able to do things no other company could, and is also why, IMO, they're the top of the heap for consumer OSes.

      --
      Potato chips are a by-yourself food.
    8. Re:I'm giving odds... by Tuzanor · · Score: 3, Informative

      You are right to a certain extent, but you have to realized that current file systems are old and clunky. For a desktop or a few non-critical servers moving to the new tech is a great idea. Down the road, when ZFS is more mature and understood, it's going to be a welcome addition to most production setups. If you ran real-world mission-critical prod setups needing high availability you'd understand.

      Imaging you have a huge medical database on several servers and are running out of disk space. To expand, you need to plug in new hard drives, create RAID setups, create partions, move data over, restart the database, verify again and again, downtimes, etc. You can easily and efficiently grow file systems (unless you're using an expensive piece of software like veritas volume manager. With zfs, all I need to do to expand disk space in current WORKING filesytems is:

      zpool add oraclefs mirror c1t1d0 c2t1d0

      No luns to deal with. No other filesystem bullshit. You have no idea how excited this makes me for services that require large amounts of growing storage.

      Read up on zfs here: zfshttp://www.opensolaris.org/os/community/zfs/> It is the best thing to come out of Sun in a long time.

    9. Re:I'm giving odds... by zeromemory · · Score: 2, Interesting

      IIRC within a zfs pool (collection of drives) you can make different 'filesystems' mirrored or striped, so you can have a /video that is striped and ultra-fast whereas /home is mirrored and fault-tolerant. No, you can't mix and match. When you create a zpool, you get to choose between the equivalents of RAID-0 (striped), RAID-1 (mirrored), and RAID-5/6 (striped with parity). You can nest the various RAID levels, but whatever you choose will apply to all the file systems in your storage pool. If you want to have /video and /home under different RAID levels, you'll need to create two different zpools. Now, this wouldn't be a big issue, as you could normally just partition up your drives to make the separate zpools, but Sun highly recommends allowing ZFS to manage entire disk drives (it's a volume manager along with a file system). If you create zpools out of partitions instead of drives, you lose a lot of neat features like automatic disk cache management and the soon-to-be-merged SMART awareness.
    10. Re:I'm giving odds... by suggsjc · · Score: 2, Insightful

      Ok, well we can agree to disagree but I would think that it have have very little to do with the question and everything with how your worded it.

      For example:
      If you asked do you want your software to "just work" or run the chance of having your computer burst into flames just to add some eye-candy/whatever? Then I would image that most people would opt for the stable approach.
      However, if you asked do you want to try out feature X? It will make your windows semi-transparent and ALL of your wildest dreams come true. It hasn't been fully tested, but it seems to be pretty stable. Then I would think you'd see a surprising number of semi-transparent windows.

      People really don't know and don't care about what happens behind the scenes. Also, I would think that most people would assume newer == better and that a higher version will be better, because hey...what can go wrong?

      --
      When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
    11. Re:I'm giving odds... by TheNetAvenger · · Score: 2, Informative

      Contrast to every other filesystem (besides spirolog) where you have to make a 100gb copy as a backup -- which takes forever, so nobody does it unless they have to.


      Except of course NTFS which has been doing crap like this for several years now. So I'm not sure how you can seriously say 'every other filesystem'.

      This announcement isn't as exciting to the Windows world as it is to the OS X and *nix world where the features being offered by ZFS have not been available or consolidated into one FS model.

      NTFS on the other hand has been doing this stuff for quite some time, although ZFS does raise the bar even beyond NTFS, as it makes the jump from Terabytes to Exibytes or unlimited storage, even though there is not much contrast in 'features' offered by the FS beyond storage limits.

      I actually hope OS X does get ZFS in place and makes it default, as the time machine features would benefit from it greatly, as Windows 2003 and Vista use features of NTFS to make its 'Previous Versions' quite painless in terms of performance. On other FS that are not ZFS or NTFS, implementing a feature like this would be a serious performance impact.

    12. Re:I'm giving odds... by Scaba · · Score: 3, Insightful

      So, how exactly does one roll back changes to a file on an NTFS partition?

    13. Re:I'm giving odds... by dbIII · · Score: 2, Informative

      True - NTFS still has a major role in the enterprise of making NFS from a 10 year old Sun over 10mb/s look fast.

    14. Re:I'm giving odds... by 0xABADC0DA · · Score: 3, Interesting

      Really?

      NTFS has data checksums to detect and repair corruption caused by any component?
      You can add and remove disk space from an NTFS volume dynamically?
      NTFS does data-level journaling not to mention without the overhead of multiple writes of the data?
      NTFS can use compression without getting horrible fragmented or other negative side effects?
      NTFS snapshots do not affect performance of the normal system?
      NTFS has variable block sizes?
      NTFS is open source and took less than a decade to get support on multiple systems?

      As far as I know that's a big no on all those. I mean NTFS is very complex and has a lot of bullet points, but to claim that ZFS is just 'ntfs with larger address space' is really missing the boat.

    15. Re:I'm giving odds... by JimDaGeek · · Score: 4, Informative

      The Move from Classic (OS 9) to OS X forced people to Recompile/Port or Die from obsoleteness
      Not completely true. You can still run classic code, if you really want. I think what Apple did was make cocoa so much better that developers wanted it and users demand it.

      Next it was the move from Power PC to Intel.
      Again, you can run PPC under Intel via Rosetta. Though getting a native Intel build always performs better. Some say they don't notice any difference. I disagree. For example, a PPC build of Photoshop is much slower than a Universal build of the new Photoshop.
      So Apple does leave backwards compatibility stuff there, however they make the new stuff so much better, that developers and users want to get it ASAP.

      Now compare this to Microsoft. While .Net with C# is an improvement for developers in productivity, there is really no gain/difference for users. For example I had to port a legacy VB 6 app to C#/.Net. The end users didn't know anything different about the app from their point of view. Just switching to .Net didn't make the app inherit any default functionality. Contrast this to Cocoa where an app get spell checking via NSSpellChecker.
      --
      General, you are listening to a machine! Do the world a favor and don't act like one.
    16. Re:I'm giving odds... by slashthedot · · Score: 2, Interesting

      A video of guys showing off features of ZFS with USB sticks is available at:
      http://youtube.com/watch?v=1zw8V8g5eT0
      There's an english translation available for that somewhere.
      ZFS can do a lot of things with ease that other file systems either can't, or it takes quite an effort.

    17. Re:I'm giving odds... by Phat_Tony · · Score: 3, Informative

      "PPC build of Photoshop is much slower than a Universal build of the new Photoshop"

      The old PPC builds of Photoshop are also much slower on PPC than the only universal version, CS3. They moved Photoshop from Codewarrior to Xcode between CS2 and CS3, and it's the most massive rewrite they've ever done. So you can't distinguish how much of the speed difference of CS3 over CS2 on Intel is due to it being Intel native, and how much is simply due to it being faster.

      --
      Can anyone tell me how to set my sig on Slashdot?
    18. Re:I'm giving odds... by TheNetAvenger · · Score: 2, Informative

      Not only am I surprised you wouldn't have looked this up before asking such stupid questions, but even more surprised that people are dumb enought to mark it as informative.

      In reference to your questions:

      NTFS has data checksums to detect and repair corruption caused by any component?
      You can add and remove disk space from an NTFS volume dynamically?
      NTFS does data-level journaling not to mention without the overhead of multiple writes of the data?
      NTFS can use compression without getting horrible fragmented or other negative side effects?
      NTFS snapshots do not affect performance of the normal system?
      NTFS has variable block sizes?
      NTFS is open source and took less than a decade to get support on multiple systems?


      Yes & No - All FS models implement checksuming features. Although, no it is not to the same checksum level as you are going for, although it is far less impressive or important than you seem to think it is.

      Yes - Dynamic adding and removing has been with NTFS for a long time. Vista even adds a newbie interface for everything from partition resizing to the old school featuers of dynamic volume spanning, RAID, etc.

      Yes - Go look up the original NT journal features from 1991, and the expanded features used in Vista.

      Yes - Compression offers no more fragmentation than normal NTFS writes. This is insane.

      Yes - Snapshots, oh yes, have you not heard of 'previous versions' or System restore, they are built on the NTFS's various snapshot abilities.

      No - NTFS does not support variable block sizes beyond the intial selection when formatting the volume.

      Yes - No, not open source, but I don't see MS suing anyone using it. *wink. I also see it being used on OS X, Linux, and other OSes without much trouble. It also was developed over the course of 1990-1992, and even the current versions in use in Vista only slightly vary because of the robust and extensible model NTFS was built upon.

      For a 1992 FS(NTFS), that STILL is ahead of MOST other FS avaiable, with the exception of a few features you can pick and chooses, you are making are really stupid argument here.

      I NEVER said NTFS was still superior, but was rather making a point that MANY of the features that make ZFS so attractive are features that have been in NTFS for a LONG TIME.

      If I was arguing NTFS was superior, I would have done a smart reply like yours comparing ZFS to NTFS:

      Does ZFS support encryption?
      Does ZFS have minimal CPU usage on small file writes?
      Does ZFS compression support multi-threading?
      Does ZFS accurately report in-use disk space, or does it have problems because of the snapshots reliance?
      Does ZFS support a high compression ratio?
      Does ZFS support Quotas?
      Does ZFS support 'online' pool recofiguring?

      As you notice, NTFS still has 'features' even ZFS doesn't if you want to pick each of them to death.

      Again I will state ZFS is a good set of ideas and does move the FS concepts forward by moving more of the models into the FS set. It also is 128bit and allows for almost infinite storage.

      ZFS has a lot of good things, but that doesn't mean that NTFS is an old dog or hasn't already been doing some of these features, even if they are not implemented in the same storage pool metaphor.

      So once again, for the Mac world, ZFS is an awesome way to go if they can get the performance in line with their needs. However it is STILL just catching up with NTFS which is very feature rich and very solid and won't be hitting any walls for storage sizes in the next 10-15 years.

      Am I not allowed to believe both ZFS and NTFS are good technologies?

  4. Booting from ZFS? by rollthelosindice · · Score: 4, Interesting

    When ZFS was first mentioned in the same breath as OS X it was pointed out that at the time you couldn't boot off ZFS file systems, so people were thinking it would power external (or secondary) timemachine devices. If it's replacing everything, I'm assuming you can now boot from a ZFS drive? When was this functionality added?

    1. Re:Booting from ZFS? by AKAImBatman · · Score: 5, Informative

      When was this functionality added?

      March 28th, 2007 at 19 hundred and 50 hours Zulu time

    2. Re:Booting from ZFS? by Midnight+Thunder · · Score: 4, Interesting

      What would prevent you from being able to boot off a ZFS drive? Surely all that needs to be done is for Apple to add ZFS support to their EFI implementation?

      --
      Jumpstart the tartan drive.
    3. Re:Booting from ZFS? by Skapare · · Score: 4, Interesting

      I don't know any of the technology of ZFS, so I can only guess.

      For a boot loader like LILO, it will need to create a list of exact hardware datablocks to read the kernel in from. ZFS might move those blocks around after the "lilo" command built the block map. Then it can't load the kernel.

      For a boot loader like GRUB, it will need to have a read-only subset of the filesystem inside so it can find the kernel image file. That might be doable, but it hasn't been done, yet.

      So create a small boot partition on the first few megabytes of the drive, and make another partition for the rest and let it be a part of the ZFS pool (if ZFS can accept a partition, and not just a whole disk).

      A better option would be to get a computer that has legacy IDE support with bootability, in addition to the main SATA or SCSI support for major hard drives. Then add a Compact Flash adapter to the IDE port and use a small Compact Flash module to load the kernel from using your favorite boot loader. Or just use an all-SATA mainboard with a different Compact Flash adapter for SATA. A tiny CF memory module with 16MB or so would be enough to load a nice sized kernel. Or go with a 16GB one and have a copy of /opt and /usr on there as well (structured to work when mounted read-only).

      --
      now we need to go OSS in diesel cars
    4. Re:Booting from ZFS? by DECS · · Score: 2, Insightful

      Remember that Apple's Macs are EFI Intel PCs now. You don't need LILO and GRUB to start up an operating system, as EFI provides a minimal but sophisticated environment for handling multiple boot devices and system launching. It's like the Sun/Apple OpenFirmware that Macs have always had.

      You'd only need those things to get Mac OS X running on a DOS PC, or when using ZFS with Linux, right?

      ---
      Microsoft Surface: the Fine Clothes of a Naked Empire
      What happens when the core values of an empire are exposed as a fraud? Does it prompt it change? More likely, it results in the generation of more false information to cover up the embarrassing failings.

  5. He's already backpeddled by dancingmad · · Score: 5, Informative

    He's already taken it back, more or less:

    "I don't know Apple's product plans for Leopard so it certainly wouldn't be appropriate for me to confirm anything. [...] There certainly have been plenty of published reports from various sources that ZFS is in Leopard, I guess we will all have to wait until it is released to see if ZFS made it as the default, or if they simply announce that it will become the default in a future release."

    --
    "There is no time, sir, at which ties do not matter," Jeeves, (Jeeves and the Impending Doom)
    1. Re:He's already backpeddled by gclef · · Score: 5, Funny

      Translation:

      "I didn't know that Steve Jobs was going to call me and scream at me like a diseased monkey when I said that. I'm sorry Steve. Please don't kill me."

  6. It WAS... by WiseWeasel · · Score: 5, Funny

    Not anymore, it ain't... Now, Apple will go with NTFS just to spite them...

    --
    "I like systems, their application excepted", George Sand (French)
    1. Re:It WAS... by CthulhuDreamer · · Score: 3, Informative

      Microsoft crippled FAT32 in Windows 2000 and Windows XP. Both of these can only format a 32GB FAT32 drive, anything bigger requires NTFS (or a third-party formatter). FAT32 also has a 4GB file size limit which is an issue when dealing with large avi files and DVD rips.

    2. Re:It WAS... by Vancorps · · Score: 2, Informative

      In Windows 2000 and XP you can format Fat32 up to 160gigs assuming you have the correct driver. With SP2 for XP you can format it up to 250gigs I believe. Most removable drives from Maxtor for instance were and are formatted Fat32.

      Technically you're right though, since most Linux distros can format fat32 up to 2tb. NTFS is vastly superior though so the issue has never really affected me personally. Of course on a Windows machines you don't have to use Microsoft's formatting or partitioning tools, you can always format fat32 up to 2tb on your linux box then put the disk into a Windows box and it will read it just fine. I can't imagine why you would want to do that but the option exists.

  7. No no no by Guanine · · Score: 5, Informative
    Then he retracted his statement, saying he didn't know if it was the _default_ or not. Here's his quote, from a link on Daring Fireball:

    I don't know Apple's product plans for Leopard so it certainly wouldn't be appropriate for me to confirm anything. [...] There certainly have been plenty of published reports from various sources that ZFS is in Leopard, I guess we will all have to wait until it is released to see if ZFS made it as the default, or if they simply announce that it will become the default in a future release.


  8. I doubt it by ceswiedler · · Score: 4, Insightful

    Jobs is probably not happy about his thunder being stolen right before for the June 11th keynote

    I strongly doubt he didn't know about it. This is Jonathan Schwartz, not a OS X rumors blogger. At any rate, ZFS in OS X is Sun's thunder; Time Machine is Apple's thunder, and that's already announced. How many OS X users (other than slashdot readers) will care in the slightest about the underlying filesystem? What they care about are the features, like Time Machine, that it enables.

    1. Re:I doubt it by WhiteWolf666 · · Score: 2, Interesting

      Although Apple hates preemptive disclosure, this goes right along with their "OS X is industrial grade" strategy.

      All over the place Apple advertises that OS X is "Industrial UNIX at the core".

      Now, with ZFS, Apple can advertise having a next-generation omega filesystem to replace the long-in-the-tooth Journaled HFS+, which was significantly better than NTFS.

      NTFS versus ZFS is a joke ;-)

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    2. Re:I doubt it by BosstonesOwn · · Score: 3, Insightful

      Also to add to your point.

      Their new 10.5 servers will probably be closely related to some products in the Sun stable at the moment. With a successful launch this could help start reversing the trend of server dominance.

      If mac starts adding more aspects of unix to the OS and gives it a pretty interface , windows small business server markets could be in trouble. I would personally like to see more of these boxes around.

      --
      This package Does Not Contain a Winner
  9. Oh, great: another DiskWarrior lag by dpbsmith · · Score: 2

    Yes I'm sure it will be worth it in the long run but I'm not looking forward to yet another hiatus in which: no industrial-strength disk-recovery tools are available, in which accidentally running the wrong disk-repair tool on the wrong partition hoses it instead of fixing it, and in which yet more legacy software suffers breakage due to subtle incompatibilities in implementation.

    (Yesyesyes, I know, ZFS is reliable that disk-recovery tools are not needed. And if you believe that, then you probably believed Microsoft when they said NTFS volumes never needed defragmentation).

    Dear Apple:

    Please let HFS+ still be an option.

    Please let Classic still run on Power Mac processors.

    Please let reasonably well-behaved software that uses resource forks still work.

    Please let it be case-insensitive and case-preserving.

    1. Re:Oh, great: another DiskWarrior lag by drinkypoo · · Score: 2, Informative

      (Yesyesyes, I know, ZFS is reliable that disk-recovery tools are not needed. And if you believe that, then you probably believed Microsoft when they said NTFS volumes never needed defragmentation).

      Well, it's true! NTFS volumes never need defragmentation! On the other hand, Microsoft provides you with a defragmenter service (at least in 2k and later) and allows you to defragment files on NTFS volumes... :D

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Oh, great: another DiskWarrior lag by Vancorps · · Score: 2, Insightful

      You also don't "need" to defragment the files. The FS is perfectly happy filling in the gaps with additional files. Performance will suffer but it will indeed work reliably.

    3. Re:Oh, great: another DiskWarrior lag by Guy+Harris · · Score: 2, Interesting

      Please let reasonably well-behaved software that uses resource forks still work.

      You are aware that ZFS - and, for that matter, Solaris's UFS - supports an arbitrary number of named forks in files? (Sun calls them "extended attributes", probably because that's what NFSv4 calls them, but they're really named forks/named streams/whatever you want to call them.)

    4. Re:Oh, great: another DiskWarrior lag by Wesley+Felter · · Score: 2, Informative

      Yesyesyes, I know, ZFS is reliable that disk-recovery tools are not needed.

      A common misconception. The "zfs scrub" command will scan the filesystem and try to correct any errors that are found (or panic the kernel); the difference is that ZFS can do this while the filesystem is mounted.

  10. Is that all? by o-hayo · · Score: 2, Interesting

    Maybe some in the know (not me) could fill us (people like me) in... Are there other benefits that will come from moving to ZFS? I'd guess that for the average consumer any performance gain, or loss, won't really make a difference, but what about those running servers or doing heavy video/audio work? Or are there other aspects of this filesystem that will make it that much better than HFS+?

    1. Re:Is that all? by kildurin · · Score: 3, Informative

      A couple. 1) ZFS does not require a format. It takes me around 2 seconds to create a pool on a raid disk. Also true on a 500G hard drive. 2) ZFS pools (or directories/partitions if you will) can span multiple drives. 3) ZFS pools can have volumes (or drives) added to them at will. This means that if I run out of space in my music folder, I can add storage to it by adding another drive and adding it to the pool where my music folder is. Hope that helps

    2. Re:Is that all? by kildurin · · Score: 2, Interesting

      And I would do RAID why? I only use JBODs with ZFS. I find it very strange to use RAID5 arrays with ZFS. We have basically replaced all our RAID5's with ZFS or left them entirely UFS. For most uses, a partition on the disk (usaully just one for the entire drive) is used as the vdev. Thus adding drives is the way to expand a pool.

    3. Re:Is that all? by ms139us · · Score: 2, Interesting

      Sorry, I was unclear. If you have a RAIDZ pool (consisting of JBODs), you cannot simply add a drive to the pool. Instead, you must add another RAIDZ set to the pool.

      Suppose you start with a pool that is a RAIDZ set with 5x250GB SATA drives (4 data + 1 parity), giving 1TB of data

      3 years later, your needs have grown to 3TB and you need better performance and double parity. The right drives for you now are 1TB SATA4 drives. You really want to get rid of your old and slow SATA array, but your system is 24x7, so you cannot take it offline to do a backup.

      Your only option is to add an array of 3x1TB (2 data+ 1 parity) drives as a RAIDZ set to the pool and keep the old array around until you go out of business or take the system offline for a backup and you cannot move to double parity.

      If your original array gets so old that you can no longer find drives for it, your sunk.

  11. Switch all filesystems to ZFS... by athloi · · Score: 5, Interesting

    Once we're sure it's stable, because it looks like a massive improvement over the 1970s-style file systems we're using now. ZFS is now part of FreeBSD, Solaris will have ZFS "soon" and many Linux distros are also considering it. Good. Let's get to a common standard that's excellent and forget the tedium of these past, less effective file systems.

    1. Re:Switch all filesystems to ZFS... by target562 · · Score: 3, Informative

      Solaris having ZFS "soon"? Looks like an old link, as it's been part of Solaris 10 since last summer... My servers running it in production would be sad to hear if it wasn't...

    2. Re:Switch all filesystems to ZFS... by Tsunayoshi · · Score: 2, Informative

      You linked to an article from 2005...ZFS has been in Solaris 10 since update 2 (06/06). New features, enhancements, and optimizations appeared in update 3 (11/06). It just will not be available as a booting FS until sometime in 2007.

      The OpenSolaris project is currently working on getting bootable ZFS support (available in the current release as experimental).

      --
      "Get a bicycle. You will not regret it, if you live." - Mark Twain, "Taming the Bicycle"
  12. Let's hope it's the truth by Otterley · · Score: 3, Insightful

    If ZFS is the default file system, it will mean that Time Machine (i.e. the snapshot feature) of 10.5 will be able to take snapshots without requiring a secondary file system to keep the copied (recoverable) blocks, as it does now with HFS+. To me, the secondary filesystem requirement makes Time Machine essentially useless on a laptop.

    1. Re:Let's hope it's the truth by larkost · · Score: 3, Informative

      TimeMachine is a backup tool, not really a live versioning tool. That makes having a second volume a requirement. If you don't understand that, then you don't understand what backups are for.

      I already know how TimeMachine is going to work (it was part of the filesystem presentation at last years WWDC... so I know it, but can't reveal it), and unless they have completely redone that entire system (which was quite elegant), then ZFS will not bring a single thing to it. I do know how ZFS could make that all really elegant, but Apple already has it covered on HFS+.

    2. Re:Let's hope it's the truth by beezly · · Score: 2, Insightful

      TimeMachine is a backup tool, not really a live versioning tool. That makes having a second volume a requirement. If you don't understand that, then you don't understand what backups are for.

      I can think a few good cases for "backing up" to the same physical device.

      Here are the reasons I back up data my employer's data:

      • Hardware failure. Disks die, tapes fail, etc. RAID helps guard against this, but it doesn't help you guard against disks that fail silently (ie, they corrupt data rather than return an error). Backups to the same device are generally useless in this case.
      • Software failure (bugs). Your OS writes garbage to the filesystem, or your application writes garbage. Backups to the same device can sometimes protect against data-loss in this case.
      • User error. User deletes files. Backups to the same device are good in this case.
      • Operator error. I delete files. Of course, this never happens! If it ever did, backups to the same device would probably mean I could restore the data quickly.
  13. Re:oblig... by eln · · Score: 3, Interesting

    We had a guy come in a few months ago to give a class on upgrading to Solaris 10, highlighting the differences between Solaris 9 and 10. When he got to the ZFS portion, he really did talk about it like that. He basically described ZFS as the filesystem to end all filesystems, the killer app that would revolutionize computing, end file corruption, and bring about world peace.

    I'm not sure if that's the way they talk about it internally at Sun, but that's how their instructors portray it out in the field.

  14. OT Grammer/Spelling Nazi Alert by multisync · · Score: 4, Insightful

    because ZFS has back-up and snapshots build right in to the filesystem


    I think Slashdot would benefit from adopting some of K5's approach to story submissions. The Firehose is a great start, but instead of simply saying yes or no, users should be able to give feedback to the submitter. The summary for this article is a great example. The submitter typed "build" instead of "built," resulting in an annoying distraction in an otherwise concise description of the story.

    Newspapers have Copy Editors (at least they used to; most seem not-too-bothered by spelling these days). It would be nice if interested Firehose users were given the opportunity to help make sure the summary was fit for publication before it hits the front page.

    I guess this should have been a journal entry, but it seemed like an opportune time to bring this up.
    --
    I don't care why you're posting AC
  15. Video Demo of ZFS by kildurin · · Score: 3, Interesting

    I know its not on Mac but this shows how easy and powerful ZFS is. I have heard directly from Sun that by Solaris 10 will soon have bootable ZFS either in update 4 or update 5. Remember that the big problem with Sun hardware is that they need firmware support for bootability and that it may be much easier on OS X to make ZFS bootable. http://video.google.com/videoplay?docid=8100808442 979626078

  16. This can, potentially, make upgrades a pain.. by N3WBI3 · · Score: 3, Insightful

    This will make going from earlier versions of OSX to the new one more of a pain because the whole disk will have to be reformatted.

    --
    1. Re:This can, potentially, make upgrades a pain.. by larkost · · Score: 2, Interesting

      No, you are wrong. Going from HFS+ to ZFS would require some tricky maneuvers to get the data moved over. On the Intel Macs (actually... on Mac's formated with EFI's disk format, but these are only Intel Macs) can volumes be dynamically resized, which would be needed in this case. Even then there would be some real gymnastics involved on a disk over 50% full.

      You are right that ZFS can handle volume size changes live (and HFS+ can sort-of do it), but this does not mean it is a slam-dunk. I would not want to be a product manager in charge of providing the transition code.

    2. Re:This can, potentially, make upgrades a pain.. by N3WBI3 · · Score: 2, Insightful

      And the windows tool has *always* been crap which results in less stable and predictable systems.

      --
  17. Re:oblig... by kildurin · · Score: 5, Informative

    Its worth noting that most Sun instructors do not work for Sun. As someone who has implemented and is using ZFS, it really is as good as they say. I use it at home for storing video files and have not suffered any data loss.

  18. Harsh reply! by grandmofftarkin · · Score: 2, Funny

    There is no need to 'stick the knife' in! ;-)

  19. Re:oblig... by djh101010 · · Score: 3, Interesting

    We had a guy come in a few months ago to give a class on upgrading to Solaris 10, highlighting the differences between Solaris 9 and 10. When he got to the ZFS portion, he really did talk about it like that. He basically described ZFS as the filesystem to end all filesystems, the killer app that would revolutionize computing, end file corruption, and bring about world peace.
    That's quite a change from about a year ago, when I took the "new features in Solaris10" class; at that time the instructor I had was in no uncertain terms saying it's "not ready for production, wait until later". Apparently we have reached "later"? Or it could be that people have opinions and express them, and aren't all speaking for Sun; I suppose that's possible...
  20. Re:oblig... by kildurin · · Score: 3, Informative

    ZFS came out in Solaris 10 Update 2. (Sun is days away from releasing update 4.) It is currently bootable in OpenSolaris.

  21. Re:oblig... by Anarke_Incarnate · · Score: 3, Informative

    It still has memory hogging issues as well as performance issues in certain areas. More kernel tuning will be needed to tame the beast that is ZFS. It is good for many things but it does not replace EVERYTHING just yet.

  22. Re:oblig... by BosstonesOwn · · Score: 5, Interesting

    as a worker at sun and having used ZFS and playing with it constantly , it is a good File system , I appreciate the little things it has and it has brought data stability to a whole new level. I think personally that this will be a defining moment for ZFS , it will be linux ready soon ( at the same level of stability that the mac will enjoy ) and it will take off and become more of a standard for unix and linux boxes.

    To bad no windows port is available. It would be nice to see my unix drives from windows.

    --
    This package Does Not Contain a Winner
  23. Re:oblig... by goombah99 · · Score: 2, Interesting

    One file system to rule them all. I thought that was Plan-9. If they really want to look ahead why not look to plan-9
    --
    Some drink at the fountain of knowledge. Others just gargle.
  24. Re:oblig... by evil_Tak · · Score: 3, Funny

    Apparently you've never used ReiserFS.

  25. Re:oblig... by mapinguari · · Score: 4, Funny

    You misunderstood him. He said that it would bring about "War and Peace", not world peace.
    Every ZFS volume has a copy of the Tolstoy classic embedded for internal benchmark purposes.

  26. Re:oblig... by Anonymous Coward · · Score: 5, Funny

    He wrote 'data loss', not 'wife loss'.

  27. Re:case-insensitive: performance, i18n, safety by kithrup · · Score: 5, Informative

    Sorry, but your description of the lookup process isn't right. First: lookup depends on the way directory entries are store. On UFS, it's a non-sorted array; in order to do a lookup, you need to (worst case) scan the entire directory. On VxFS, they use a hash, so first you hash the input, and then do run through the entries that have a matching hash. On HFS+, the catalog is stored as a B-tree, so you do compares to get to the right node, and then look through the node until you either find it or reach the end of the node. Second: None of those is affected by case-insensitivity. You simply do a case-insensitive compare each time. This is the difference between HFS+ and HFSX on Mac OS X: in the former, the key-compare function is a Unicode case-insensitive comparator; on the latter, it's just a memcmp. Third: your comment about "i" is a glyphing issue, not a character issue. Apple has a pretty good technote up on their HFS+ impelementation, and it describes the way the case insensitivity works. I recommend reading it.

  28. Re:oblig... by morgan_greywolf · · Score: 2, Interesting

    it will be linux ready soon


    Aren't there still licensing issues to iron out?

    To bad no windows port is available. It would be nice to see my unix drives from windows.


    Ext2/3 and ReiserFS have all been ported to Windows, so I don't see there would be any problem porting the Linux ZFS implementation as an IFS driver for Windows Vista/XP/2000

  29. Re:oblig... by evil_Tak · · Score: 2, Interesting

    I must have some nonstandard use case, because I've lost data with both ReiserFS (multiple times, as I optimistically tried newer versions) and XFS.

    Ext3, on the other hand, has been rock solid for me.

  30. Re:oblig... by rainman_bc · · Score: 3, Interesting

    it will be linux ready soon ( at the same level of stability that the mac will enjoy ) and it will take off and become more of a standard for unix and linux boxes.

    Depends - whatcha building? An app server, a web server, a database server, or a file server? Different strokes for different folks, and I'm not clear yet if I'd like the overhead of ZFS on a database server. The jury's still out on ZFS+Oracle...

    I'm not 100% on which file system I'd like. Certainly the integrity of ZFS is quite pleasing for a DBA, questions is if the overhead is worth it...

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  31. Re:oblig... by Anonymous Coward · · Score: 3, Funny

    I married Brent Spiner, you insensitive clod.

  32. The best of Unix? by gilesjuk · · Score: 4, Interesting

    Seems like Apple take some of the best ideas from the Unix world. Really shows the potential of Unix systems if the people who wrote them thought a little more about usability.

  33. Re:oblig... by BosstonesOwn · · Score: 3, Informative

    On linux FUSE is all we can use because of the license restrictions. I use it on a Solaris box with a vmed red hat install it's not quite ready for prime time. And the licensing sucks because it won't get put into the kernel.

    Which I find really deplurable , I would love to have it in the kernel.

    And yeah id like an ifs driver but none exist ;) yet and I don't see any intent internally to even attempt it. as it stand I think I am maybe 1 of 8 people using ZFS on linux here. And that is only in the VM.

    --
    This package Does Not Contain a Winner
  34. Re:oblig... by dougmc · · Score: 2, Insightful

    I use it at home for storing video files and have not suffered any data loss. The plural of anecdote is not data.

    ZFS does indeed look like the greatest thing since sliced bread, but if all I cared about `wasn't losing data', then I'd just stick with ext2 or fat. (But I care about more than that, which is why I use xfs, ext3, hfs+ and ntfs for various things.)

  35. ZFS for FUSE by piojo · · Score: 3, Informative

    I am using ZFS-FUSE right now. On my gentoo system, many partitions are zfs, including /home, /var/tmp, /usr/share, /usr/portage, and /opt

    Because I have suffered some random corruptions in the past, even with ext3 ("This mp3 didn't used to have a skip there!"), I wanted the checksumming so that I can tell when I need to restore something from a backup.

    As a filesystem, it works completely, including creation of new filesystems, compression, checksums, etc. However, I've noticed a decrease in my system's general performance since installing zfs (probably due to it holding my home directory). Memory usage and mysterious CPU usage (I don't think it's checksumming) are the current disadvantages, but the author says it's still completely unoptimized.

    Should you try zfs-fuse? Definitely. But right now don't expect a performance gain.

    --
    A cat can't teach a dog to bark.
    1. Re:ZFS for FUSE by morcego · · Score: 2, Informative

      I've noticed a decrease in my system's general performance since installing zfs


      A user space filesystem is not something I would expect performance from.
      --
      morcego
  36. Re:oblig... by moosesocks · · Score: 3, Interesting

    From what I understand, the API that Windows filesystem drivers interface with is an undocumented nightmare that's entirely different (but not necessarily 'worse') from the way the rest of the world does it.

    So porting a filesystem as complicated as ZFS could take some time.

    --
    -- If you try to fail and succeed, which have you done? - Uli's moose
  37. Apple breaks in stages, default in 10.6 by alexhmit01 · · Score: 4, Insightful

    Apple is "well known" for massive backwards compatibility updates... except they aren't... They always handle transitions over a couple of versions, intelligently bringing people along. They swapped processor architectures twice and each time brought people along with emulators, in the Intel case it wasn't faster than the fasted G5 machines, but those of us upgrading 3+ year old machines (Powerbook G4 1Ghz -> Macbook Pro in my case) found our PPC apps running faster and Intel code flying.

    We all expected the Intel migration to happen with 10.5, they shocked us when they did it off the 10.4 base.

    While they did abandon Mac OS to move to OS X, they provided a migration strategy (Carbon) and a compatibility layer (Classic). Classic support shipped with 10.0/10.1, 10.2, and was supported in 10.3 if you already had it, as well as 10.4 I think, but they kept classic for around 5 years, which gave everyone time to migrate to Carbon. Its unfortunate that there is no long-term Classic via Rosetta just from a classic application point of view, but they didn't leave anyone in the lurch.

    I expect 10.5 to introduce this OS, which will be useful for new installs, or for external drive arrays, especially for the Video market, but I wouldn't expect it to be the default. OS X has supported a Unix filed system, but defaulted to HFS+, because HFS+ was compatible with Mac OS, so you could dual-boot OS 9 and OS X for a good 2 years on new hardware to maintain compatibility. If they hadn't done that, they would have lost the Pro-Audio and Pro-Video markets that took a few years to get native OS X applications.

    Getting it in the wild and for professionals would help that market, while not breaking ANYONE's compatibility. Sometime in 10.5's lifetime they may ship new computers with it, or they may wait for 10.6 in two years. But giving everyone two years is plenty of time to get utilities and applications compatible with the new file system.

    The flashy consumer features are touted for the OS, but the underlying architecture has always followed a 2-cycle release. If you've used OS X Server for 10.2/10.3/10.4, you'd notice that they introduced stuff in one version with limited exposed functionality (with the rest via the Unix layer), enhanced the functionality in the next rev, and polished thereafter.

    The Apple Mail Server -> Cyrus migration was someone poorly handled, but mostly because AMS was garbage. But the 10.4 Mail tools are night and day beyond the 10.3 ones.

    They are actually far more careful than people give them credit for.

    The different is, they don't keep backward compatibility as a long-term goal, they do a two-stage migration, giving people 2-4 years to transition.

  38. Sun is the new Bell Labs. by teknopurge · · Score: 2, Insightful


    Discuss.

  39. Re:oblig... by Angus+McNitt · · Score: 2, Funny

    Shh, that is an inside secret. They were originally going to use The Brothers Karamazov, but the developers couldn't agree on a pronunciation.

    --
    "To Do Is To Be" - Socrates, "To Be Is To Do" - Sartre, "Do Be Do Be Do" - Sinatra
  40. Re:oblig... by Cyberax · · Score: 4, Informative

    Windows filesystem kernel API (it's called IFS - Installable File Systems) is fairly well documented, and you can get free GPL2 headers for it (http://www.acc.umu.se/~bosse/ntifs.h) or buy IFS kit from Microsoft for about $109 (http://www.microsoft.com/whdc/DevTools/IFSKit/def ault.mspx). Unfortunately, IFS is a very complex API and there's only ONE good book about it.

    You definitely can port FS to Windows using only documented API, but it's a long and tedious process. I'm currently porting FUSE to Windows, so I know it :)

  41. ZFS still has bugs by mlheur · · Score: 5, Informative

    For something that's only a year or so old (production wise), I don't trust it worth shit.
    We run Netbackup Enterprise on Solaris 10 - during our last round of upgrades we installed ZFS on our disk staging storage units. It replaced VxFS. The way disk staging storage units (DSSUs) work in Netbackup, the disk is always near 100% full form a unix perspective. Basically, any time more disk is needed, the oldest image that has been copied to tape is expired from disk, thus freeing up more room. However, ZFS's most prominent bug from our perspective is that during periods of high activity, if all blocks become allocated, it becomes impossible to unlink(2) a file. This causes the application to no longer be able to make space for new backup images.

    Going down the shell, try to rm a file and it comes back: rm failed, disk is full.

    Well, if the disk is full, and you can't rm because the disk is full, how do you free up space?

    Sun's response, truncate an unnecessary file using 'cat /dev/null > /path/to/file', then, once you have some blocks free, rm works (so does unlink).

    Ok - so how do you tell a compiled application to truncate an unnecessary file before unlinking it? You can't! How can you determine what an unnecessary file is? If you delete the image before expiring it from the catalog you get errors when you try to expire, so you end up with catalog corruption.

    All in all, this is a problem that should never have been introduced, let alone still exist after months of sending trace outputs and reproducing it in multiple environments. ZFS isn't ready for the real world.

    1. Re:ZFS still has bugs by Guy+Harris · · Score: 2, Informative

      if all blocks become allocated, it becomes impossible to unlink(2) a file.

      The price of copy-on-write. Other systems with a copy-on-write file system can exhibit this behavior.

  42. ZFS not ready for prime time by SirNAOF · · Score: 4, Informative

    ZFS is not ready for prime time - at least not on Solaris.

    I setup ZFS on some SAN storage in a new system. The internal boot disks were mirrored UFS. When one of the HBAs fried, the SAN storage disappeared - and the system panic'd.

    Every reboot thereafter stopped in a panic. The ZFS subsystem panic'd the system at every boot when it couldn't find all its volumes. After calling Sun support, I found out that they need to do a massive code redesign to catch that issue, and it wouldn't be out for at least 6 months.

    I'm sure ZFS will be great - once they clean up these type of showstopper bugs.

    --
    Jeremy Baumgartner
  43. Re:oblig... by Anonymous Coward · · Score: 2, Informative

    there are no licensing issues with linux/zfs. The "issue" is that Alan Cox and Linus Torvaldes have a hot iron up their asses about compartmentalizing everything. ZFS is vertical -- it's in the fs layer, the driver layer, and the vfs layer.

  44. Re:case-insensitive: performance, i18n, safety by netfunk · · Score: 3, Insightful
    (I don't know what various filesystems actually do, this is just how I would assume it's done, at least on systems designed for case-insensitivity...ext2 or FFS probably would suffer from the issues you mention about scanning the whole directory.)

    On a case-insensitive filesystem, your done if you're lucky. If not lucky, you need to do a linear scan of the whole damn directory. And yet Windows and Mac OS have had case-insensitive filesystems for years and somehow they are usable, even with Unicode filenames.

    You can't restore the original case of a string afterwards, but you can always make it lowercase. This is called "case folding." You can fold two strings to a lowercase form, and then compare them for equality or whatnot. Works with Unicode, too.

    Then there is the issue of internationalization. For example, consider "I" and "i". Some places have an uppercase with the dot, and other places have a lowercase without the dot. The rules for uppercasing and lowercasing differ from what most people are used to. Oh crap! This issue doesn't exist on a case-sensitive filesystem. While folding Unicode chars is frequently presented as an unsolvable problem ("what do you do with the letter with the squiggly thing above it? Or converting that German capital 'B' thing to two lowercase 's' chars? There are MILLIONS OF THESE!") ... there are actually very few cases in the grand scheme of things. Most languages don't have upper and lower case, after all.

    Here's the whole list of characters that need to "folded" to a lowercase form, accounting for instances where it will cause the string to grow (like that German 'B' thing):

          http://www.unicode.org/Public/3.2-Update/CaseFoldi ng-3.2.0.txt

    (And you can hash those chars too, so folding a string doesn't involve hundreds of conditionals.)

    If you don't care about Unicode, case folding an English ASCII char is 2 lines of C code, and a few more if you want extended ASCII.

    Once you have a filename, you can store it in the filesystem as the specifically-entered characters, so you don't lose the original casing, but also store with it a hash of the case-folded version. Now whenever you need to look up a specific filename, you case-fold it, hash that folded string, and look it up that way against the hash you previous calculated when creating the file. Now it's as fast as the case-sensitive filesystem, minus the overhead of folding a small string.

    Because of the way directory listings are done (read then look up stats) you can generally square the above numbers. Ouch. The way directory listings are done doesn't change...readdir() is the same in all cases, and your lookup is still a hash. If you had to scan, the first run is slow anyhow due to disk bandwidth and seek speeds, but then a modern OS can cache the inodes to speed this up for the next run.

    App needs to make a file. App sees that file does not seem to exist. App writes file. Complex international case rules mean that no, the file DOES exist, and it gets clobbered. I would think that stat(filename) would not report the file doesn't exist if open() would then clobber it, at least not for case-sensitivity issues.

    If your app decides about a file's existence by using readdir() until it finds it, and doesn't properly case-fold, and didn't call open() with O_EXCL, then not only did you go the long way about it, you got what you deserved for clobbering the file.

    Actually, if you don't just open(O_CREAT | O_EXCL) to check for existence and create if missing in one step, then you'll have an atomicity problem anyhow. Use the services the OS provides, they are there for a reason.

    --ryan.

    --
    Don't say, "don't quote me," because if no one quotes you, you probably haven't said a thing worth saying.
  45. Re:oblig... by adisakp · · Score: 5, Funny

    Nope. ZFS WAS going to be the file system until Sun's CEO leaked it before Jobs could announce it. No one knows what it will actually be NOW. Jobs would rather use FAT32 than let someone leak info about one of his announcements.

  46. Time Machine will not require ZFS by abhi_beckert · · Score: 3, Informative

    Time Machine is already fully functional (apart from a few gui glitches) in the current leopard developer builds, but ZFS isn't even available in Disk Utility (yet?). This doesn't mean ZFS won't be added at the last minute, but it certainly isn't required for Time Machine.

  47. short memories by toby · · Score: 2, Interesting

    they shocked us when they did it off the 10.4 base.

    It did not shock those of us who know that NEXTSTEP was transparently portable to at least four architectures.

    --
    you had me at #!
  48. Re:oblig... by Tribbin · · Score: 3, Funny

    That was user error.

    --
    If you mod this up, your slashdot background will turn into a beautiful sunset!
  49. Re:oblig... by salimma · · Score: 2, Informative

    Yes there is. ZFS is licensed under CDDL, which is not GPL2 compatible. Linus has so far refused to move to GPL3 when it comes out, so before that happens, there is a licensing issue.

    --
    Michel
    Fedora Project Contribut
  50. "No" on all three counts by LKM · · Score: 2, Informative

    No, no and no.

    • ZFS will have case-insensitive support if it is used in Mac OS X (closed approved fast-track 05/09/2007).
    • HFS+ has case-sensitity as an option, so if you want to, you can have a case-sensitive Mac.
    • Case-sensitivity is a stupid idea for regular users and will never be on by default on Macs (there's no reason why "My Letter to Aunt Emma" should be a different file from "My letter to Aunt Emma")