aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hfsplus/catalog.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2006-01-18 20:43:09 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-18 22:20:23 -0500
commit9a4cad95c9338077487226e22d4e01bc9edebf21 (patch)
tree7153b1e890ab17910935494c433c23eb9cf94014 /fs/hfsplus/catalog.c
parent2179d372d9f8b5fc5c189c89bc6a565a42151b23 (diff)
[PATCH] hfs: set correct ctime
Read the correct ctime from disk (it was written but never read for some reason). Read also creation date, which is used in the next patch. (Problem found by Olivier Castan <olivier.castan@certa.ssi.gouv.fr>) 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.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
index 662d176856d..04255af3470 100644
--- a/fs/hfsplus/catalog.c
+++ b/fs/hfsplus/catalog.c
@@ -94,8 +94,11 @@ static int hfsplus_cat_build_record(hfsplus_cat_entry *entry, u32 cnid, struct i
94 memset(folder, 0, sizeof(*folder)); 94 memset(folder, 0, sizeof(*folder));
95 folder->type = cpu_to_be16(HFSPLUS_FOLDER); 95 folder->type = cpu_to_be16(HFSPLUS_FOLDER);
96 folder->id = cpu_to_be32(inode->i_ino); 96 folder->id = cpu_to_be32(inode->i_ino);
97 folder->create_date = folder->content_mod_date = 97 HFSPLUS_I(inode).create_date =
98 folder->attribute_mod_date = folder->access_date = hfsp_now2mt(); 98 folder->create_date =
99 folder->content_mod_date =
100 folder->attribute_mod_date =
101 folder->access_date = hfsp_now2mt();
99 hfsplus_set_perms(inode, &folder->permissions); 102 hfsplus_set_perms(inode, &folder->permissions);
100 if (inode == HFSPLUS_SB(inode->i_sb).hidden_dir) 103 if (inode == HFSPLUS_SB(inode->i_sb).hidden_dir)
101 /* invisible and namelocked */ 104 /* invisible and namelocked */
@@ -109,8 +112,11 @@ static int hfsplus_cat_build_record(hfsplus_cat_entry *entry, u32 cnid, struct i
109 file->type = cpu_to_be16(HFSPLUS_FILE); 112 file->type = cpu_to_be16(HFSPLUS_FILE);
110 file->flags = cpu_to_be16(HFSPLUS_FILE_THREAD_EXISTS); 113 file->flags = cpu_to_be16(HFSPLUS_FILE_THREAD_EXISTS);
111 file->id = cpu_to_be32(cnid); 114 file->id = cpu_to_be32(cnid);
112 file->create_date = file->content_mod_date = 115 HFSPLUS_I(inode).create_date =
113 file->attribute_mod_date = file->access_date = hfsp_now2mt(); 116 file->create_date =
117 file->content_mod_date =
118 file->attribute_mod_date =
119 file->access_date = hfsp_now2mt();
114 if (cnid == inode->i_ino) { 120 if (cnid == inode->i_ino) {
115 hfsplus_set_perms(inode, &file->permissions); 121 hfsplus_set_perms(inode, &file->permissions);
116 file->user_info.fdType = cpu_to_be32(HFSPLUS_SB(inode->i_sb).type); 122 file->user_info.fdType = cpu_to_be32(HFSPLUS_SB(inode->i_sb).type);