]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
e2fsck: fix spurious complaints about i_size caused by preallocated blocks
authorTheodore Ts'o <tytso@mit.edu>
Mon, 18 Aug 2008 03:14:30 +0000 (23:14 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 18 Aug 2008 03:14:30 +0000 (23:14 -0400)
For inodes with blocks preallocated with FALLOC_FL_KEEP_SIZE, e2fsck
complained about i_size being too small.  Fix this.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
e2fsck/pass1.c

index 268c2a398d46874fd21890a9a093dc1a2b6cc41b..0e245dd04f915dc1624a8500b0ca2e939e82cb22 100644 (file)
@@ -1727,7 +1727,9 @@ static void scan_extent_node(e2fsck_t ctx, struct problem_context *pctx,
                }
                pb->num_blocks += extent.e_len;
                pb->previous_block = extent.e_pblk + extent.e_len - 1;
-               start_block = pb->last_block = extent.e_lblk + extent.e_len - 1;
+               start_block = extent.e_lblk + extent.e_len - 1;
+               if (!(extent.e_flags & EXT2_EXTENT_FLAGS_UNINIT))
+                       pb->last_block = start_block;
        next:
                pctx->errcode = ext2fs_extent_get(ehandle,
                                                  EXT2_EXTENT_NEXT_SIB,