diff options
author | Theodore Ts'o <tytso@mit.edu> | 2010-09-24 22:57:06 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2010-09-24 22:57:06 -0400 |
commit | b70506bffba208daa2dc176be9370bc198ecd221 (patch) | |
tree | 9ef2307b0eb66ebe6b1b5ba09a0595b291e91640 /e2fsck | |
parent | 9d92a201deec7bbb1911e6e5ee98abf3c83882d4 (diff) | |
download | e2fsprogs-b70506bffba208daa2dc176be9370bc198ecd221.tar.gz |
e2fsck: Set i_blocks_hi when correcting the i_blocks field in pass #1
For file systems with 64-bit block numbers, we need to make sure we
correct the i_blocks_hi field as well as the i_blocks field when
setting it to the correct value.
Thanks to Justin Maggard for pointing this out.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'e2fsck')
-rw-r--r-- | e2fsck/pass1.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 93763cd8..67dd986f 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -2036,7 +2036,7 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx, pctx->num = pb.num_blocks; if (fix_problem(ctx, PR_1_BAD_I_BLOCKS, pctx)) { inode->i_blocks = pb.num_blocks; - inode->osd2.linux2.l_i_blocks_hi = 0; + inode->osd2.linux2.l_i_blocks_hi = pb.num_blocks >> 32; dirty_inode++; } pctx->num = 0; |