Whamcloud - gitweb
e2fsck: quiet some harmless bitmap warnings
authorTheodore Ts'o <tytso@mit.edu>
Sun, 23 Jul 2017 02:50:22 +0000 (22:50 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 23 Jul 2017 04:07:58 +0000 (00:07 -0400)
E2fsck checks block numbers against the block_metadata_map before it
checks to see whether or not the block numbers are valid.  So suppress
these harmless warnings.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/pass1.c
tests/f_ind_inode_collision/expect.1
tests/f_itable_collision/expect.1

index 160e677..c358eec 100644 (file)
@@ -2710,6 +2710,7 @@ report_problem:
                         * will reallocate the block; then we can try again.
                         */
                        if (pb->ino != EXT2_RESIZE_INO &&
+                           extent.e_pblk < ctx->fs->super->s_blocks_count &&
                            ext2fs_test_block_bitmap2(ctx->block_metadata_map,
                                                      extent.e_pblk)) {
                                next_try_repairs = 0;
@@ -3448,6 +3449,7 @@ static int process_block(ext2_filsys fs,
         */
        if (blockcnt < 0 &&
            p->ino != EXT2_RESIZE_INO &&
+           blk < ctx->fs->super->s_blocks_count &&
            ext2fs_test_block_bitmap2(ctx->block_metadata_map, blk)) {
                pctx->blk = blk;
                fix_problem(ctx, PR_1_CRITICAL_METADATA_COLLISION, pctx);
index 012cd9f..63c128b 100644 (file)
@@ -2,7 +2,6 @@ Pass 1: Checking inodes, blocks, and sizes
 Inode 12 block 41 conflicts with critical metadata, skipping block checks.
 Inode 12 block 40 conflicts with critical metadata, skipping block checks.
 Inode 12 block 34 conflicts with critical metadata, skipping block checks.
-Illegal block number passed to ext2fs_test_block_bitmap #16777215 for metadata block map
 Inode 12 block 1 conflicts with critical metadata, skipping block checks.
 Inode 12, i_size is 33, should be 25227264.  Fix? yes
 
index 00cdced..01c85d4 100644 (file)
@@ -12,23 +12,15 @@ Inodes that were part of a corrupted orphan linked list found.  Fix? yes
 
 Inode 49 was part of the orphaned inode list.  FIXED.
 Inode 14 block 36 conflicts with critical metadata, skipping block checks.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Inode 14 has illegal block(s).  Clear? yes
 
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Illegal indirect block (4294967295) in inode 14.  CLEARED.
-Illegal block number passed to ext2fs_test_block_bitmap #4294967295 for metadata block map
 Too many illegal blocks in inode 14.
 Clear inode? yes