Inert Detritus The Internet's dust bunnies

12 December 2007 @ 4pm

A Dissection of Roxio Toast 8’s Disc Spanning

Toast 8, a CD/DVD burning utility for the Mac, introduced a new feature: when you add files to a data CD above what a single disc can hold, it offers to burn them onto separate discs. When I went to back up (and remove from my hard drive) about 40 GB of ripped DVDs, this looked like a fantastic feature. However, I wanted to make sure that, should I need to use the discs on a PC, on a Unix machine, or on a newer or older Mac. I couldn’t let myself be tied to a platform, OS, or application.

Fortunately, Roxio has ensured that, short of losing one of the discs, you’ll be able to get at your data somehow.

First, Toast copies a text-editable Disc Index.plist to each disc, hidden at the root level of the drive, gzipped to save space. It’s identical across all discs in the session, so any disc has a complete copy. It contains a dictionary of all the files in the session, including their size, whether they’re invisible, their date modified, whether to copy them onto a PC, and for a spanned file, the discs on which to find the file.

I first tested the included Mac version of their disc spanning utility: it simply copies the pieces of the files and concatenates them together (more on that in a minute). The discs also include a Windows exe, though I haven’t tested it. The spanned and remerged files emerging from the utility are, as you would hope, binary identical to the original.

Initially, I was wary of using disc spanning: a proprietary utility to reassemble files? An unknown format to recover them from? But it turns out that their utility is a very pretty interface for a couple of simple Unix commands. By concatenating together the two (or more) pieces of the files, in order, you produce an exact copy of the original file. I tested this on a split AVI: cat file1.spanned > testfile; cat file2.spanned >> testfile; md5sum testfile originalfile; will produce identical MD5 checksums.

So, at the end of the day, I went ahead and burned a 10 disc session of movies to DVDs. If I lose any of the discs, sure, the data is lost and the remainder is unrecoverable, but I have a list of what was lost in the Disc Index.plist, and can BitTorrent as needed to replace it. Would I span a disk image with a backup across two pieces of media? Probably not without burning two or three copies of the session, and testing each. But for movies, it’s a great way to back them up.