linux/fs/hfsplus
Sergei Antonov d7d673a591 hfsplus: add HFSX subfolder count support
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: Sergei Antonov <saproj@gmail.com>
Reviewed-by: Vyacheslav Dubeyko <slava@dubeyko.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-03-10 17:26:21 -07:00
..
Kconfig
Makefile hfsplus: integrate POSIX ACLs support into driver 2013-09-11 15:59:01 -07:00
acl.h hfsplus: use generic posix ACL infrastructure 2014-01-25 23:58:20 -05:00
attributes.c
bfind.c
bitmap.c
bnode.c
brec.c
btree.c hfsplus: add metadata file's clump size calculation functionality 2013-11-13 12:09:32 +09:00
catalog.c hfsplus: add HFSX subfolder count support 2014-03-10 17:26:21 -07:00
dir.c hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
extents.c
hfsplus_fs.h hfsplus: add HFSX subfolder count support 2014-03-10 17:26:21 -07:00
hfsplus_raw.h hfsplus: add HFSX subfolder count support 2014-03-10 17:26:21 -07:00
inode.c hfsplus: add HFSX subfolder count support 2014-03-10 17:26:21 -07:00
ioctl.c
options.c hfsplus: fix remount issue 2014-03-04 07:55:49 -08:00
part_tbl.c
posix_acl.c hfsplus: use generic posix ACL infrastructure 2014-01-25 23:58:20 -05:00
super.c hfsplus: implement attributes file creation functionality 2013-11-13 12:09:32 +09:00
tables.c
unicode.c
wrapper.c block: submit_bio_wait() conversions 2013-11-24 16:33:41 -07:00
xattr.c hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
xattr.h hfsplus: use xattr handlers for removexattr 2014-01-31 14:44:39 -05:00
xattr_security.c hfsplus: integrate POSIX ACLs support into driver 2013-09-11 15:59:01 -07:00
xattr_trusted.c
xattr_user.c