I have an image with an error in one of its bands:
/Volumes/twoz/macbookpro08-centrim.sparsebundle/bands/3252
The file system personality of the image is Case-sensitive Journaled HFS+.
Question
At the HFS Plus level:
- how can I tell which files are entirely or partly within that band?
Names and paths of files will be ideal.
Background
The error is detected by ZFS and is permanent (I chose no redundancy for the pool). File system twoz is mounted by ZEVO.
At the root of the bundle there's probably nothing to help us:
sh-3.2$ sudo ls -ahl /Volumes/twoz/macbookpro08-centrim.sparsebundle
total 8952
drwx------@ 3 root wheel 10B 3 Mar 19:38 .
drwxr-xr-x 7 root wheel 7B 9 Dec 17:16 ..
-rw-r--r-- 1 root wheel 499B 30 Dec 12:20 Info.bckup
-rw-r--r-- 1 root wheel 499B 30 Dec 12:20 Info.plist
drwx------ 2 root wheel 26K 3 Mar 08:16 bands
-rw-r--r-- 1 root wheel 445B 3 Mar 06:48 com.apple.TimeMachine.MachineID.bckup
-rw-r--r-- 1 root wheel 445B 3 Mar 06:48 com.apple.TimeMachine.MachineID.plist
-rw-r--r-- 1 root wheel 1.4K 3 Mar 08:20 com.apple.TimeMachine.Results.plist
-rw-r--r-- 1 root wheel 11K 3 Mar 08:20 com.apple.TimeMachine.SnapshotHistory.plist
-rwx------ 1 root wheel 0B 9 Dec 17:16 token
sh-3.2$ sudo defaults read /Volumes/twoz/macbookpro08-centrim.sparsebundle/Info
{
CFBundleInfoDictionaryVersion = "6.0";
"band-size" = 8388608;
"bundle-backingstore-version" = 1;
"diskimage-bundle-type" = "com.apple.diskimage.sparsebundle";
size = 821820674048;
}
I expect the bands directory to contain nothing except bands.
An experiment with cat
sudo cat /Volumes/twoz/macbookpro08-centrim.sparsebundle/bands/3252
The result is mostly binary data and unsurprisingly, an I/O error seems to prevent completion of the command – so I aborted.
Interspersed with binary data, some content is human readable. Some of that readable content is almost certainly within one file (xulrunner) that suffered an I/O error when I attempted to restore data from the disk image.
I'd prefer a more direct approach – one that does not involve attempting to read all data from the volume.
Wonder whether an authoritative answer to this question will involve knowledge of the disk image driver or a private framework. In OS X 10.8.2 for example:
sh-3.2$ hdiutil info
framework : 344
driver : 10.7v344
/System/Library/PrivateFrameworks/DiskImages.framework