joe,

An often overlooked aspect of the topic of defragmentation is that when a third-party disk repair utility rebuilds a disk directory, the Catalog B-Tree and the Extents B-Tree must each be written to a piece of disk space that is both free and contiguous.

A few days ago, I used hfsdebug to determine the size of the Catalog B-Tree of my 200 GB internal hard drive. It was over 600 MB. The volume is only slightly over half full. Without a piece of free, contiguous disk space that large, just that aspect of the disk directory cannot be rebuilt. A new directory must be born in one piece to be born safely.

There is (was?) a thread in Those Other Forums that discussed the need for free and contiguous disk space for virtual memory to function properly. Each swapfile must be in one piece or performance suffers drastically. Panther did not even allow fragmented swapfiles, preferring a kernel panic when a swapfile would have been fragmented.

I cannot take the time to revise "Why Defrag?" now, and I will never have time to engage in potentially endless debates about the subject. (Some people who have contributed code to disk optimizers disagree about their use!) I do not think people should make a hobby of defragmenting drives, but letting the largest free block (now reported by TechTool Pro 5) be too small puts your directory at risk of being unable to be safely rebuilt.

If you ever have to recover files from a volume that has an irreparably damaged directory, by "scavenging" the drive, please be advised in advance that these are the outcomes:

1. If the file is of a type known to the recovery utility, and is in one piece, the file is recovered, but its name (which is not in the file but in the damaged disk directory) is not recovered. The file receives an arbitrarily assigned generic name.

2. If the file is of a known type and is not in one piece, you get nothing.

If you just cannot resist using a utility to try to do something nice for your Macintosh, there is always the Surface Scan in TechTool Pro, and similar media checks in other programs.


MicroMat Inc
Makers of TechTool