Comment 2 for bug 889928

Revision history for this message
Seth Forshee (sforshee) wrote :

The HFS+ volume format specifies that the alternate volume header is to be located 1024 bytes before the end of the volume. Without the partition table information to specify the actual length of the partition, Linux must assume that the partition is the size of the device, which in the case of a loopback device would be the size of the source file. The HFS+ metadata does not seem to contain any information about the size of the volume, only the size and number of allocation blocks on the volume, which doesn't help in locating the alternate volume header because that data structure may be stored outside of the allocation blocks.

So in this case the hfsplus driver is behaving correctly according to the specification and doing the best it can do based on the available information since it does not have accurate information about the size of the volume. If you wish to mount an HFS+ volume you must supply information about where the end of the volume is, either via partition table information or by truncating the image to the actual size of the partition containing the HFS+ volume. Therefore I'm closing this bug as Invalid.