You know what we be cool for Leopard developers and perhaps others? If Time Machine could start to handle backup snapshot trees. You know – like VMWare Workstation for Windows/Linux’s snapshot manager that supports branching. VMWare even supports the deletion of images in the middle to save space and perhaps enhance performance. It merges disks together when necessary.
Developers could create a branch before installing a particular software component or library and I think kernel (extension)? developers would find this invaluable. You could also think of it as an RCS for filesystems. Perhaps administrators would find it useful in their testing labs as they prepare for deployment of a new server or system. Yes I know these versioning versioning file systems already exist and one even appeared in Plan 9 back in 2002, but I just thought Time Machine could be used as a nice as a starting point for an alternative.
UPDATED 2007-11-4: I can’t believe I forgot to mention ZFS. Apple originally announced Leopard would be sporting the highly regarded ZFS and peoples mouths started drooling. Unfortunately that feature got dropped. Apple is not the only one dropping support for some interesting file system technology. Microsoft chose to drop WinFS after originally state it would ship with Vista.
UPDATED 2007-11-6: Chris has informed me that ZFS will be available for Leopard with read-only support in the relatively near future. Pending the outcome of that “beta” release, read/write support will be released as well.
UPDATED 2007-11-6 part 2: Chris dropped by to tell me that ZFS read-only support is now available. He did so with the ever so subtle “Hey, man zfs”. Thanks for making me look like a dumbass, I was doing fine on my own. Quote from 10.5′s zfs man page:
ZFS Read-only Implementation
ZFS on OSX is implemented as a readonly filesystem by default. This means that only the ZFS subcommands that do non write operations are permitted. Permitted subcommands are list, get, mount, unmount, and send.
A full ZFS implementation that allows all subcommands and is read/write is available for download at http://developer.apple.com/.
To determine which version of ZFS is loaded(readonly or writable):
# kextstat | grep zfs
com.apple.filesystems.zfs.readonly is the readonly kext version. com.apple.filesystems.zfs is the writable kext version.
Spencer Shimko
03 November 2007