diff -u old/fs/hpfs/hpfs_fn.h fs/hpfs/hpfs_fn.h --- old/fs/hpfs/hpfs_fn.h 2005-03-04 09:26:36.000000000 -0800 +++ fs/hpfs/hpfs_fn.h 2005-03-14 09:10:16.040399536 -0800 @@ -329,13 +329,13 @@ * local time (HPFS) to GMT (Unix) */ -static inline time_t local_to_gmt(struct super_block *s, time_t t) +static inline time_t local_to_gmt(struct super_block *s, time32_t t) { extern struct timezone sys_tz; return t + sys_tz.tz_minuteswest * 60 + hpfs_sb(s)->sb_timeshift; } -static inline time_t gmt_to_local(struct super_block *s, time_t t) +static inline time32_t gmt_to_local(struct super_block *s, time_t t) { extern struct timezone sys_tz; return t - sys_tz.tz_minuteswest * 60 - hpfs_sb(s)->sb_timeshift; diff -u old/fs/hpfs/hpfs.h fs/hpfs/hpfs.h --- old/fs/hpfs/hpfs.h 2005-03-04 09:26:46.000000000 -0800 +++ fs/hpfs/hpfs.h 2005-03-14 09:11:59.884612816 -0800 @@ -27,6 +27,8 @@ typedef secno fnode_secno; /* sector number of an fnode */ typedef secno anode_secno; /* sector number of an anode */ +typedef unsigned time32_t; /* 32-bit time_t type */ + /* sector 0 */ /* The boot block is very like a FAT boot block, except that the @@ -84,9 +86,9 @@ unsigned zero1; /* 0 */ secno badblocks; /* bad block list */ unsigned zero3; /* 0 */ - time_t last_chkdsk; /* date last checked, 0 if never */ + time32_t last_chkdsk; /* date last checked, 0 if never */ /*unsigned zero4;*/ /* 0 */ - time_t last_optimize; /* date last optimized, 0 if never */ + time32_t last_optimize; /* date last optimized, 0 if never */ secno n_dir_band; /* number of sectors in dir band */ secno dir_band_start; /* first sector in dir band */ secno dir_band_end; /* last sector in dir band */ @@ -287,10 +289,10 @@ unsigned not_8x3: 1; /* name is not 8.3 */ unsigned flag15: 1; fnode_secno fnode; /* fnode giving allocation info */ - time_t write_date; /* mtime */ + time32_t write_date; /* mtime */ unsigned file_size; /* file length, bytes */ - time_t read_date; /* atime */ - time_t creation_date; /* ctime */ + time32_t read_date; /* atime */ + time32_t creation_date; /* ctime */ unsigned ea_size; /* total EA length, bytes */ unsigned char no_of_acls : 3; /* number of ACL's */ unsigned char reserver : 5;