Tomorrow is my birthday, so yesterday, my wife and I went to a local electronics store, and purchased a 1 TB hard drive to store family photos, videos and other data. The only requirement, is that the drive's filesystem be compatible with both Mac OS X, and Ubuntu 8.04. I figured this was a non-issue, as it's 2008, and computing has come leaps and bounds over just the last 5 years. We purchase the drive and come home.
First thing I do, after unpacking it of course, is pull up Wikipedia to see what my options are as far as compatibility between the two operating systems. As far as legitimate native filesystem support, here's the page I found: http://en.wikipedia.org/wiki/Comparison_of_file_systems#OS_support. Comparing Mac to Linux, my only options are crap:
- FAT12/16/32/NTFS- Suffers from BAD block fragmentation. While I don't plan on deleting data a lot from the drive, should I ever need to, I don't want to have to sit there and defrag my drive everytime I turn around. Further, the FAT-family of filesystems have disk limits that keep me from taking advantage of a full terabyte anyway.
- HFS- Three main problems with this filesystem: 1) it suffers from a write queue where only one application is allowed to write at a time. In other words, not a multi-tasked filesystem. 2) I'm limited to 65,535 maximum files on disk. With a 1TB drive, I'm not too terribly excited about that. 3) With large disk space, HFS suffers badly from wasted disk space, as files must occupy the entire allocation block size. With a 1GB disk, this is 16KB. If a file size isn't a multiple of 16KB, then you have wasted disk space.
- HFS+- This would be a fine solution, if in Linux, I wasn't required to make the partition a multiple of 4K. Every time I try a "mkfs.hfsplus /dev/sdb1", I get an error. I don't want to make the partition smaller, thus eliminating disk space, just so I can make HFS+ happy.
- ext2- With a 3rd party tool, Mac OS X can read and write ext2 filesystems. This is good news, as ext2 has proven to be reliable, stable and robust. However, the tool for OS X has not been updated since 2006, and it seems the developer has abandoned the project. With outstanding bugs, this doesn't inspire confidence in the tool.
Now, let me make one thing clear. I do not have a computer with USB 2.0 or Firewire 400 that I could plug this into for NFS. Otherwise, NFS would be my option, as I could put any filesystem on it I wanted to, and we'd be done with it.
Needless to say, this is 2008, and I'm not too terribly excited with the lack of operating system interoperability right now. Are we still playing games of "My OS is better than your OS"? Please.