Image of the glider from the Game of Life by John Conway
Skip to content

What About Interoperability?

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: 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.

{ 17 } Comments

  1. Jonas | June 8, 2008 at 8:21 am | Permalink

    "HFS+- This would be a fine solution, if in Linux, I wasn’t required to make the partition a multiple of 4K." ... "I don’t want to make the partition smaller, thus eliminating disk space, just so I can make HFS+ happy."

    I must be misunderstanding this, because to me it sounds like you are worriying about losing a total of 4 KILOBYTES of data on a 1 TERABYTY drive. What am I reading wrong?

  2. Kelner | June 8, 2008 at 9:09 am | Permalink

    Does NTFS really have block fragmentation problems? Even if it does it fares much better than FAT32. And NTFS-3g handles everything just fine.

  3. Samat Jain | June 8, 2008 at 9:29 am | Permalink

    You forgot to mention ZFS.

    Apple provides a ZFS driver with read/write support for MacOS X 10.5 and above, and Linux has a FUSE implementation.

    I'm not sure about performance, but it's probably terrible under both operating systems. At least it's a "next-gen" filesystem whose support under OS X and Linux can only get better with time.

  4. Mph | June 8, 2008 at 9:30 am | Permalink

    This is an issue very dear to my heart after recently upgrading the drive in my MacBook. I wanted to use the old 60Gb drive in a caddy as a portable drive so I could share files and stuff with my friends.

    This meant I needed Mac OSX, Linux and Windows XP/Vista compatibility. This was a major pita. Why is there not a consistent way of sharing a drive between all major OS's yet...

    The only solution I could find that didn't involve a huge amount of software was to partition the drive as NTFS, and then rely on the ntfs-3g drivers in Ubuntu and via MacFuse on OSX.

    This approach has one main issue though (filesystem religous arguments notwithstanding) and that is that if people use it in windows and forget to unmount it properly, both Ubuntu and Mac OS are unable to mount it claiming that the ntfs table is marked in use. I then need to find a windows box, plug in the drive and unmount it properly.

    This is annoying to say the least. So I completely understand where you are coming from with this post.

  5. Jonas | June 8, 2008 at 9:43 am | Permalink

    Hm...regarding HFS+...I may remember this wrong since it's been quite a while since I had to access data stored on a HFS+ partition. Anyway, from what I remember the Linux driver is quite happy to access them regardless of whether or not the partition boundary is a 4K multiple or not - assuming there is a valid HFS+ partition on say /dev/sdb1. Mkfs may complain but since you have MacOS X why not format it using the MacOS tools? Worth a try at least.

  6. Lucian | June 8, 2008 at 9:57 am | Permalink

    I've had great success with UDF partitions, with the exception of some versions of windows which simply fail to see the partition. I don't much care about windows, so it isn't much of a deal for me.

  7. Ty Rex | June 8, 2008 at 11:29 am | Permalink

    Ummm that is what you get when you buy vendor lock-in software and/or hardware. Made you bed, now lie in it.

  8. James | June 8, 2008 at 11:38 am | Permalink

    @Ty Rex - The hardware isn't exactly vendor lock-in. He *is* putting a different filesystem on it, y'know.

    OS X ain't exactly locked in all that much either; the kernel is open source and you can recompile it if you wish. As he said in the article, someone has written an ext2 filesystem driver for it, it's just not being maintained. Developer inactivity does signify vendor lockin.

    And let's not forget that it's *Linux* which is having issues with HFS+. 😉

  9. Andrew | June 8, 2008 at 11:46 am | Permalink

    Wikipedia says Ubuntu and MacOS X both use NTFS-3g. I'm using a USB external drive on a Windows XP / Ubuntu dual boot and am able to read/write to the NTFS-formatted external drive.

  10. Alex | June 8, 2008 at 2:49 pm | Permalink

    Oh, this is something that's been driving me absolutely nuts. I do video editing, and I'd like to share BIG files between Linux and OSX. I used to care about Windows, too, but not anymore, thankfully. I tried UDF, but at the time, Linux only supported 1GB files on UDF due to a kernel bug. I don't know how well it works now, but I seem to recall OSX having some trouble with it, too, so I don't know if UDF is really a solution now. Also, something that nobody has mentioned is that Linux only has write support for HFS+ if journaling is disabled, similar to the situation with ext3 on OSX and Windows (to a degree). As you said, one would think this would be a non-issue in 2008, but no. Microsoft and Apple have to play their little secrets game. Grrrr!

  11. Amy Rose | June 8, 2008 at 9:46 pm | Permalink

    Wow... you're seriously that concerned about losing 4K off a terabyte? Or is this really your chance to attack proprietary software for just being proprietary?

    Just for that, I should buy another Mac. 😉

  12. Aaron | June 8, 2008 at 10:21 pm | Permalink

    For those who are concerned about 4 KB, I didn't pay good money to lose space on a 1 TB disc, no matter the amount. And Amy, what does this have to do with proprietary software. Nothing in my post was referring to it, so why are you? I'm looking for the best solution on this disc, all of which, by the way, are open source solutions in Linux.

  13. Jonathan Doyle | June 9, 2008 at 12:03 am | Permalink

    Concerned about losing 4 KB? Aren't we being picky?
    Formatting alone will make you lose a thousand times that.

  14. robert renling | June 9, 2008 at 2:40 pm | Permalink

    I'd like to recommend the nslu2. you can stick debian on it and hook up to two usb enclosures to it.
    I don't think i need to dwelve on the premise.

  15. Walther | June 9, 2008 at 3:55 pm | Permalink

    I'm surprised you are worrying about 4KB on a drive of 1GB. I have all the respect for you due to the things you write here, but this is kind of silly.

    4KB on 1TB is 0.000 000 4%. You say you paid for all that space, but if you would be able to buy a 1.000 000 004 TB disk for the same price per Byte, the difference in price rounded to dollar cents would be 0.

    Another thing to consider: filesystems always have overhead that is much more than that. Try this on any file or directory:
    /$ du -h /etc/ssh
    4.2M /etc/ssh
    /$ du -h --apparent-size /etc/ssh
    4.1M /etc/ssh

    There is a 100KB difference in allocated and real size of a directory of 4MB. So if you are concerned with space you should look at the allocation overhead per filesystem. My guess is that you won't even notice the 4KB difference in partition sizes anymore.

  16. Lucian | June 10, 2008 at 5:06 am | Permalink

    If you use UDF 1.5, os x has no problem with it. I'll make a lot of noise if I lose any data.

  17. Hotelepremium | May 10, 2018 at 4:53 pm | Permalink

    Each day they develop better drives for save disk space. Have you tried SSD? Maybe you should also consider better compression for files?

Post a Comment

Your email is never published nor shared.