e2fsck: fix timestamps logic for 32-bit systems

Commit 35a4e1b1c5 introduced a regression which caused e2fsck on
32-bit systems to think all timestamps were legacy pre-1970
timestamps.  Fix the bug.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
next
Theodore Ts'o 2016-09-03 23:33:11 -04:00
parent 7b714fe277
commit 254195627f
1 changed files with 3 additions and 3 deletions

View File

@ -512,9 +512,9 @@ static void check_inode_extra_space(e2fsck_t ctx, struct problem_context *pctx)
* If the inode's extended atime (ctime, crtime, mtime) is stored in
* the old, invalid format, repair it.
*/
if ((sizeof(time_t) <= 4) ||
(((sizeof(time_t) > 4) &&
ctx->now < EXT4_EXTRA_NEGATIVE_DATE_CUTOFF)) &&
if (((sizeof(time_t) <= 4) ||
(((sizeof(time_t) > 4) &&
ctx->now < EXT4_EXTRA_NEGATIVE_DATE_CUTOFF))) &&
(CHECK_INODE_EXTRA_NEGATIVE_EPOCH(inode, atime) ||
CHECK_INODE_EXTRA_NEGATIVE_EPOCH(inode, ctime) ||
CHECK_INODE_EXTRA_NEGATIVE_EPOCH(inode, crtime) ||