The code for checking for a wrapped HFS+ volume looks at the wrong offset.

Index: fs/hfsplus/hfsp_volume.c
===================================================================
--- fs/hfsplus/hfsp_volume.c (revision 1041)
+++ fs/hfsplus/hfsp_volume.c (working copy)
@@ -302,7 +302,7 @@
  os_read(fd, vol, 2, HFSP_BLOCKSZ_BITS);
 
  if (__be16_to_cpu(vol[0]) == HFS_VOLHEAD_SIG &&
- __be16_to_cpu(vol[0x7c]) == HFSP_VOLHEAD_SIG) {
+ __be16_to_cpu(vol[0x3e]) == HFSP_VOLHEAD_SIG) {
  ret = -1;
  } else if (__be16_to_cpu(vol[0]) == HFSP_VOLHEAD_SIG) {
  ret = -1;