summaryrefslogtreecommitdiffstats
path: root/fs/hfsplus/catalog.c
diff options
context:
space:
mode:
authorRoman Zippel2006-01-19 02:43:10 +0100
committerLinus Torvalds2006-01-19 04:20:23 +0100
commitaf8c85bb6d4e5352551277edd8448c4dfb2328ab (patch)
tree1fb10ca9fb7890db706db358c944308dc0cf616c /fs/hfsplus/catalog.c
parent[PATCH] hfs: set correct ctime (diff)
downloadkernel-qcow2-linux-af8c85bb6d4e5352551277edd8448c4dfb2328ab.tar.gz
kernel-qcow2-linux-af8c85bb6d4e5352551277edd8448c4dfb2328ab.tar.xz
kernel-qcow2-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);