From 0ea910997b3c2ba09b65b852b9bb4dd7b4d68999 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Sun, 17 Aug 2008 23:14:30 -0400 Subject: [PATCH] e2fsck: fix spurious complaints about i_size caused by preallocated blocks 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" --- e2fsck/pass1.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 268c2a3..0e245dd 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -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, -- 1.8.3.1