• Sergei Antonov's avatar
    hfsplus: add HFSX subfolder count support · d7d673a5
    Sergei Antonov authored
    Adds support for HFSX 'HasFolderCount' flag and a corresponding
    'folderCount' field in folder records.  (For reference see
    HFS_FOLDERCOUNT and kHFSHasFolderCountBit/kHFSHasFolderCountMask in
    Apple's source code.)
    
    Ignoring subfolder count leads to fs errors found by Mac:
    
      ...
      Checking catalog hierarchy.
      HasFolderCount flag needs to be set (id = 105)
      (It should be 0x10 instead of 0)
      Incorrect folder count in a directory (id = 2)
      (It should be 7 instead of 6)
      ...
    
    Steps to reproduce:
     Format with "newfs_hfs -s /dev/diskXXX".
     Mount in Linux.
     Create a new directory in root.
     Unmount.
     Run "fsck_hfs /dev/diskXXX".
    
    The patch handles directory creation, deletion, and rename.
    Signed-off-by: default avatarSergei Antonov <saproj@gmail.com>
    Reviewed-by: default avatarVyacheslav Dubeyko <slava@dubeyko.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch@infradead.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d7d673a5
catalog.c 12.6 KB