aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/hfsplus/catalog.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-01-18 17:43:10 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 19:20:23 -0800
commitaf8c85bb6d4e5352551277edd8448c4dfb2328ab (patch)
tree1fb10ca9fb7890db706db358c944308dc0cf616c /fs/hfsplus/catalog.c
parent[PATCH] hfs: set correct ctime (diff)
downloadwireguard-linux-af8c85bb6d4e5352551277edd8448c4dfb2328ab.tar.xz
wireguard-linux-af8c85bb6d4e5352551277edd8448c4dfb2328ab.zip
[PATCH] hfs: set correct create date for links
HFS+ also requires the correct creation date so recent version of OS X recognize it as link. Improve link handling: - if something is wrong with the link, ignore the link attribute and treat it as regular file (this also fixes a missing unlock during lookup). - check for incorrect link counts during unlink. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/hfsplus/catalog.c')
-rw-r--r--fs/hfsplus/catalog.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
index 04255af34709..04058c8096d1 100644
--- a/fs/hfsplus/catalog.c
+++ b/fs/hfsplus/catalog.c
@@ -127,6 +127,7 @@ static int hfsplus_cat_build_record(hfsplus_cat_entry *entry, u32 cnid, struct i
file->user_info.fdType = cpu_to_be32(HFSP_HARDLINK_TYPE);
file->user_info.fdCreator = cpu_to_be32(HFSP_HFSPLUS_CREATOR);
file->user_info.fdFlags = cpu_to_be16(0x100);
+ file->create_date = HFSPLUS_I(HFSPLUS_SB(inode->i_sb).hidden_dir).create_date;
file->permissions.dev = cpu_to_be32(HFSPLUS_I(inode).dev);
}
return sizeof(*file);