Whamcloud - gitweb
e2fsck: correct test for EOFBLOCKS
authorEric Sandeen <sandeen@redhat.com>
Wed, 19 May 2010 18:20:13 +0000 (13:20 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 19 May 2010 18:55:29 +0000 (14:55 -0400)
This test, added to e2fsprogs-1.41.12, is backwards.

If EOFBLOCKS is set, then the size -should- be less than
the last physical block...

xfstests 013 caught this.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/pass1.c

index c35937f..4bf80d2 100644 (file)
@@ -2013,7 +2013,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx,
                 * doesn't need to be.
                 */
                if ((inode->i_flags & EXT4_EOFBLOCKS_FL) &&
-                   (size <= (((__u64)pb.last_block + 1) * fs->blocksize))) {
+                   (size >= (((__u64)pb.last_block + 1) * fs->blocksize))) {
                        pctx->blkcount = pb.last_block;
                        if (fix_problem(ctx, PR_1_EOFBLOCKS_FL_SET, pctx)) {
                                inode->i_flags &= ~EXT4_EOFBLOCKS_FL;