Slashdot Mirror


Cross-OS File System That Sucks Less?

An anonymous reader writes "I recently got an external hard disk with USB 2.0/Firewire/Firewire 800/eSATA to be used for backup and file exchange — my desktop runs Linux (with a Windows partition for games but no data worth saving), and the laptop is a MacBook Pro. So the question popped up: what kind of filesystem is best for this kind of situation? Is there a filesystem that works well under Linux, MacOS X, and Windows? Linux has HFS+ support but apparently doesn't support journaling and there's also an issue with the case-insensitivity of HFS+. Are we stuck with crummy VFAT forever or are there efforts underway to bring a modern filesystem (I'm thinking something like ZFS, BeFS, or XFS) to all platforms? Or are there other clever solutions like storing ISO images and loop-mounting those?"

2 of 449 comments (clear)

  1. FAT is it for now by jonadab · · Score: 5, Interesting

    There are two "extensions" I would like to see for vfat, that could be implemented right on top in a reasonably backwards-compatible way (just as LFNs were on top of traditional FAT fs).

    The easier and more important one is symbolic links. (Indeed, it ought to be possible to devise a "virtual symlink" system that would work pretty much independent of the underlying filesystem, by simply using hidden pointer files containing the paths to the target files -- similar to .LNK files that the Windows GUI uses, but you'd want them to be supported by the OS at the filesystem layer, just like regular symlinks are on filesystems that have them; also you'd want the design of the pointer files themselves to be cleaner and more platform-agnostic.)

    The harder, but ultimately just as important, is journaling (similar to what ext3 does for ext2).

    The advantage of extending FAT32 in this way should be obvious: just like with ext2/3, systems that don't support the extension can at least still access the data (although doing so may invalidate the journal). So you don't *lose* any compatibility, you only *gain* the added features. In situations where you *mostly* use the disk with a particular system (e.g., my data drive that spends basically 100% of its time mounted in FreeBSD, but is FAT32 so I can get to my data from a non-BSD system in case of an unforseen emergency), you'd get a lot of benefit from the improved features. (I'd be particularly pleased to have symlinks on my data drive, for instance.) Then you only lose the new features if you need to mount the disk under a system that doesn't support them, e.g., if some piece of hardware on my FreeBSD workstation dies and I need to get my files, I could take the drive and hook it up to just about any computer anywhere and mount it as plain old FAT32 and my files would all be there.

    This still doesn't turn FAT into BeFS or ZFS or whatnot, but it would be a welcome improvement.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  2. Re:You're not very smart, are you? by Gordonjcp · · Score: 4, Interesting

    And yet not only is NTFS is still one of the best FS for handing fragmentation, ever, it has a well managed and fast file table indexing system.

    Because it's more-or-less a straight lift of FILES-11. You may or may not believe this, but your NTFS is almost compatible with VMS disks. Sadly, it's a pale imitiation - although there is the facility for things like file versioning, it's non-functional and can probably never be properly implemented without significant refactoring.

    Pity, really. Windows nearly had something really good going for it there.