--- e2fsprogs-1.39/e2fsck/problem.h.pix 2006-03-09 03:58:28.000000000 +0100 +++ e2fsprogs-1.39/e2fsck/problem.h 2006-08-22 13:39:32.000000000 +0200 @@ -193,6 +193,9 @@ /* Superblock hint for external journal incorrect */ #define PR_0_EXTERNAL_JOURNAL_HINT 0x000033 +/* Last check time is in the future */ +#define PR_0_FUTURE_SB_LAST_CHECK 0x000034 + /* * Pass 1 errors */ --- e2fsprogs-1.39/e2fsck/super.c.pix 2006-03-19 03:33:56.000000000 +0100 +++ e2fsprogs-1.39/e2fsck/super.c 2006-08-22 13:38:56.000000000 +0200 @@ -723,6 +723,13 @@ ext2fs_mark_super_dirty(fs); } } + if (fs->super->s_lastcheck > ctx->now) { + pctx.num = fs->super->s_lastcheck; + if (fix_problem(ctx, PR_0_FUTURE_SB_LAST_CHECK, &pctx)) { + fs->super->s_lastcheck = ctx->now; + ext2fs_mark_super_dirty(fs); + } + } /* * Move the ext3 journal file, if necessary. --- e2fsprogs-1.39/e2fsck/problem.c.pix 2006-03-09 04:02:50.000000000 +0100 +++ e2fsprogs-1.39/e2fsck/problem.c 2006-08-22 13:40:15.000000000 +0200 @@ -342,6 +342,11 @@ N_("@S last write time is in the future. "), PROMPT_FIX, PR_PREEN_OK }, + /* Last check time is in the future */ + { PR_0_FUTURE_SB_LAST_CHECK, + N_("@S last check time is in the future. "), + PROMPT_FIX, PR_PREEN_OK }, + { PR_0_EXTERNAL_JOURNAL_HINT, N_("@S hint for external superblock @s %X. "), PROMPT_FIX, PR_PREEN_OK }, --- e2fsprogs-1.39/tests/f_dup_resize/expect.1.pix 2005-09-06 11:40:14.000000000 +0200 +++ e2fsprogs-1.39/tests/f_dup_resize/expect.1 2006-08-22 14:18:32.000000000 +0200 @@ -1,5 +1,7 @@ Resize inode not valid. Recreate? yes +Superblock last check time is in the future. Fix? yes + Pass 1: Checking inodes, blocks, and sizes Running additional passes to resolve blocks claimed by more than one inode...