Apple Kills ZFS Support

I mentioned over a year ago that Apple was porting Sun’s ZFS file system to Mac OS X. While it was available as read-only on Leopard it seems to have been completely pulled from Snow Leopard. For something that was suspected to be the future of disk storage for Mac OS X, that seemed odd. Now Apple has officially discontinued the project.

I had heard about the ongoing NetApp vs. Sun patent war where NetApp feels that ZFS is too close to WAFL. It seems likely that Apple doesn’t want to get involved in that. Apple even has a fear of that potential with OGG Theora. Once the transition was made to ZFS it would be a costly and time-consuming effort to swap with something else since Mac OS has never been very file system neutral.

A new theory is that the Oracle/Sun deal leaves the company developing two filesystems: ZFS and Btfs. It sounds like Oracle’s Btfs is the more likely future. If Apple switched to ZFS they would have been left as the only platform using it. Linux can’t fully switch since the CDDL license isn’t fully compatible with GPL meaning it would need to be implemented through FUSE. Btfs is coming along for Linux.

Reading through Btfs, it seems like a lot of the big advantages of ZFS are already in Btfs though it lacks full disk encryption. It does however add online resizing. It’s also GPL and has support from RedHat, Novell, IBM and was accepted into the Linux mainline kernel as of 2.6.29rc1. That means it already has a much more robust community and seems likely to be widely accepted in UNIX land.

So will Apple switch to Btfs for Mac OS X 10.7 or 10.8? I think the two possibilities are that it will either build something in-house, or switch to Btfs. I think Btfs offers a compelling set of features and would allow Apple to brag about more compatibility with other OS’s and potentially adopt features as the file system matures at a low-cost. It’s possible we’ll hear something as soon as WWDC 2010.

Edit [10/25/2009 @ 6:30 PM EST]: Confirmed via Daring Fireball

Apple’s Intel Strategy

Apple announced it’s moving from the PowerPC processor over to the Intel platform. Most feel this is a good decision, some have reservations. Regardless Apple left quite a few unanswered questions that really impact how successful this transition will be, and what the ultimate benefit (if any) there is to the end user. I’d like to take a moment and look at a few critical questions:

Will there be 64 bit computing?
Apple with much fanfare introduced the 64 bit G5 processor and everyone talked about how that’s the future of computing. AMD, and Intel have also started producing 64 bit processors. Windows Vista (formerly Longhorn) will ship in both 32 bit and 64 bit flavors as Microsoft believes during it’s lifespan people will start using 64 bit systems. Will Apple even bother adopting 32 bit Intel chips? Or stick with it’s 64 bit strategy? ThinkSecret’s look at the Intel Mac has a nice list of what the processor supports:

PU, VME, DE, PSE, TSC, MSR, PAE, MCE, CX8, APIC, SEP, MTRR, PGE, MCA, CMOV, PAT, PSE36, CLFSH, DS, SCPI, MMX, FXSR, SSE, SEE2, SS, HTT, TM, SSE3, MON, DSCPL, EST, TM2, CX16, and TPR.

What’s not on the list is EM64T. Why wouldn’t Apple ship developers 64bit systems? Intel has been shipping them for a while now. Hyper Threading is available though. It seems strange that Apple hasn’t said anything on it’s 64 bit strategy.

Disk Formats
Apple’s alleged position on the idea of running Windows on a Mac is that they won’t support it, but won’t explicitly block it, though Mac OS X will remain Mac only. But I must question if it would be in Apple’s interests to support Windows a bit more, including re-examining disk format issues. Right now, A Mac can read/write HFS+ (Apple’s disk format), UFS, and FAT32. It can only read NTFS. This is a problem for someone potentially dual booting a system in Mac OS X and Windows. On top of this, the partitioning is also an issue. Apparently Apple’s Boot ROM historically will only will boot off of Apple partitioned drives (such as my disk0 below). Windows will only boot off of FDISK or MBR. So it’s impossible to have a dual boot system using partitions on 1 hard drive. I don’t have a developer Intel-Mac to test this theory on, but I’m rather confident on it.

Robert-Accetturas-Computer:~ robert$ diskutil list
/dev/disk0
   #:                   type name               size      identifier
   0: Apple_partition_scheme                    *74.5 GB  disk0
   1:    Apple_partition_map                    31.5 KB   disk0s1
   2:              Apple_HFS Macintosh HD       74.4 GB   disk0s3
/dev/disk2
   #:                   type name               size      identifier
   0: FDisk_partition_scheme                    *279.5 GB disk2
   1:           Windows_NTFS PC Backup          120.0 GB  disk2s1
   2:             DOS_FAT_32 MAC BACKUP         75.7 GB   disk2s2
   3:             DOS_FAT_32 MAC SCRATCH        83.7 GB   disk2s3

So what should Apple do?

Apple should encourage this behavior. It allows potential Mac converts to transition much more gracefully, and allows them to see the Mac as a much more valuable product. A few things really need to be done here:

  • HFS+ driver for Windows – That’s right, I said it. Apple needs to allow you to access your data on Windows. Adding HFS+ support to Windows 2k, XP, and Vista would be appropriate. The alternative is getting NTFS write support in Mac OS X, which isn’t likely to ever happen.
  • Allow Macs to boot off of MBR partitioned drives (FDisk_partition_scheme as it appears above on OS X) – this would allow you to use 1 drive and boot both HFS+ for OS X, or NTFS for Windows. *Note:* you would need to format the NTFS partition on Windows.

By doing this, the Mac is clearly the better computer. It allows you to use both operating systems fluently. You can create a 10 GB NTFS partition and install Windows XP, then use HFS+ for all your data, and your Mac OS X volume. This would also pave the way for even more top notch Linux support (on the same drive too)

Then Apple’s silver bullet would be a VirtualMachine package, so you can run Windows in parallel with OS X, or multiple instances of OS X, or Linux. This would also aid in the server market. You can run OS X, with it’s infamous stability and excellent interface. But still get to your Windows data and programs if you need. There’s no longer any reason to say No to a Mac.

Hardware Lock in
This is the big question everyone wants to know. Today’s Mac’s are relatively easy to upgrade and repair using stock PC parts. Drives, RAM, most PCI cards (USB, Firewire, most networking cards in particular), etc. There are a few annoyances in Mac hardware today, the first being video cards. Sometimes you can hack the ROM and install Mac ROM and use them. Sometimes you can get a Mac version. Will there be good enough support to allow any AGP or PCI-X graphics card to just work? In theory, using an Intel architecture, the ROM should be the same now, so the issue may just be limited to drivers, so we may get lucky here. Presumably what makes a Mac exclusively a Mac will be it’s motherboard (or a few pieces of silicon and plastic on that motherboard). So anything else should be swappable with PC parts. Will Apple be pushing for more widespread driver support once the Intel Macs start shipping?

So Steve, if you happen to read this, and care to fill us in on Apple’s strategy, I’m sure we would all appreciate it. Apple’s Intel strategy is rather interesting, but it doesn’t quite say if Apple will be bridging the platform gap to allow for smoother transitions between Windows and Mac, or if it’s simply a processor swap.