diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2006-01-18 20:43:10 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-18 22:20:23 -0500 |
commit | af8c85bb6d4e5352551277edd8448c4dfb2328ab (patch) | |
tree | 1fb10ca9fb7890db706db358c944308dc0cf616c /fs/hfsplus/catalog.c | |
parent | 9a4cad95c9338077487226e22d4e01bc9edebf21 (diff) |
[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.c | 1 |
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 | |||
127 | file->user_info.fdType = cpu_to_be32(HFSP_HARDLINK_TYPE); | 127 | file->user_info.fdType = cpu_to_be32(HFSP_HARDLINK_TYPE); |
128 | file->user_info.fdCreator = cpu_to_be32(HFSP_HFSPLUS_CREATOR); | 128 | file->user_info.fdCreator = cpu_to_be32(HFSP_HFSPLUS_CREATOR); |
129 | file->user_info.fdFlags = cpu_to_be16(0x100); | 129 | file->user_info.fdFlags = cpu_to_be16(0x100); |
130 | file->create_date = HFSPLUS_I(HFSPLUS_SB(inode->i_sb).hidden_dir).create_date; | ||
130 | file->permissions.dev = cpu_to_be32(HFSPLUS_I(inode).dev); | 131 | file->permissions.dev = cpu_to_be32(HFSPLUS_I(inode).dev); |
131 | } | 132 | } |
132 | return sizeof(*file); | 133 | return sizeof(*file); |