|
|
a2a4bc |
From 6e44ff6678a96b2bc5ddc42c5bf2cbad09b71af2 Mon Sep 17 00:00:00 2001
|
|
|
a2a4bc |
From: Theodore Ts'o <tytso@mit.edu>
|
|
|
a2a4bc |
Date: Sun, 5 May 2019 16:43:33 -0400
|
|
|
a2a4bc |
Subject: [PATCH 3/4] e2fsck: check and fix tails of all bitmap blocks
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Currently, e2fsck effectively checks only tail of the last inode and
|
|
|
a2a4bc |
block bitmap in the filesystem. Thus if some previous bitmap has unset
|
|
|
a2a4bc |
bits it goes unnoticed. Mostly these tail bits in the bitmap are
|
|
|
a2a4bc |
ignored; however, if blocks_per_group are smaller than 8*blocksize,
|
|
|
a2a4bc |
the multi-block allocator in the kernel can get confused when the tail
|
|
|
a2a4bc |
bits are unset and return bogus free extent.
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Add support to libext2fs to check these bitmap tails when loading
|
|
|
a2a4bc |
bitmaps (as that's about the only place which has access to the bitmap
|
|
|
a2a4bc |
tail bits) and make e2fsck use this functionality to detect buggy bitmap
|
|
|
a2a4bc |
tails and fix them (by rewriting the bitmaps).
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Reported-by: Jan Kara <jack@suse.cz>
|
|
|
a2a4bc |
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
|
|
a2a4bc |
Reviewed-by: Jan Kara <jack@suse.cz>
|
|
|
a2a4bc |
---
|
|
|
a2a4bc |
e2fsck/pass5.c | 40 ++++++++++++++++---
|
|
|
a2a4bc |
lib/ext2fs/ext2fs.h | 2 +
|
|
|
a2a4bc |
lib/ext2fs/rw_bitmaps.c | 26 +++++++++++-
|
|
|
a2a4bc |
tests/f_bitmaps/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_dup/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_dup2/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_dup3/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_end-bitmap/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_illbbitmap/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_illibitmap/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_illitable_flexbg/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_lpf/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_overfsblks/expect.1 | 2 +
|
|
|
a2a4bc |
tests/f_super_bad_csum/expect.1 | 4 +-
|
|
|
a2a4bc |
tests/j_corrupt_ext_jnl_sb_csum/expect | 2 +
|
|
|
a2a4bc |
tests/j_ext_long_trans/expect | 2 +
|
|
|
a2a4bc |
tests/j_long_trans/expect | 2 +
|
|
|
a2a4bc |
tests/j_long_trans_mcsum_32bit/expect | 2 +
|
|
|
a2a4bc |
tests/j_long_trans_mcsum_64bit/expect | 2 +
|
|
|
a2a4bc |
tests/j_recover_csum2_32bit/expect.1 | 2 +
|
|
|
a2a4bc |
tests/j_recover_csum2_64bit/expect.1 | 2 +
|
|
|
a2a4bc |
tests/j_short_trans/expect | 2 +
|
|
|
a2a4bc |
tests/j_short_trans_64bit/expect | 2 +
|
|
|
a2a4bc |
tests/j_short_trans_mcsum_64bit/expect | 2 +
|
|
|
a2a4bc |
tests/j_short_trans_old_csum/expect | 2 +
|
|
|
a2a4bc |
tests/j_short_trans_open_recover/expect | 2 +
|
|
|
a2a4bc |
tests/j_short_trans_recover/expect | 2 +
|
|
|
a2a4bc |
.../j_short_trans_recover_mcsum_64bit/expect | 2 +
|
|
|
a2a4bc |
tests/t_replay_and_set/expect | 2 +
|
|
|
a2a4bc |
29 files changed, 113 insertions(+), 9 deletions(-)
|
|
|
a2a4bc |
|
|
|
a2a4bc |
diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c
|
|
|
a2a4bc |
index 7803e8b8..81009097 100644
|
|
|
a2a4bc |
--- a/e2fsck/pass5.c
|
|
|
a2a4bc |
+++ b/e2fsck/pass5.c
|
|
|
a2a4bc |
@@ -838,6 +838,7 @@ static void check_inode_end(e2fsck_t ctx)
|
|
|
a2a4bc |
ext2_filsys fs = ctx->fs;
|
|
|
a2a4bc |
ext2_ino_t end, save_inodes_count, i;
|
|
|
a2a4bc |
struct problem_context pctx;
|
|
|
a2a4bc |
+ int asked = 0;
|
|
|
a2a4bc |
|
|
|
a2a4bc |
clear_problem_context(&pctx);
|
|
|
a2a4bc |
|
|
|
a2a4bc |
@@ -851,11 +852,12 @@ static void check_inode_end(e2fsck_t ctx)
|
|
|
a2a4bc |
return;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
if (save_inodes_count == end)
|
|
|
a2a4bc |
- return;
|
|
|
a2a4bc |
+ goto check_intra_bg_tail;
|
|
|
a2a4bc |
|
|
|
a2a4bc |
/* protect loop from wrap-around if end is maxed */
|
|
|
a2a4bc |
for (i = save_inodes_count + 1; i <= end && i > save_inodes_count; i++) {
|
|
|
a2a4bc |
if (!ext2fs_test_inode_bitmap(fs->inode_map, i)) {
|
|
|
a2a4bc |
+ asked = 1;
|
|
|
a2a4bc |
if (fix_problem(ctx, PR_5_INODE_BMAP_PADDING, &pctx)) {
|
|
|
a2a4bc |
for (; i <= end; i++)
|
|
|
a2a4bc |
ext2fs_mark_inode_bitmap(fs->inode_map,
|
|
|
a2a4bc |
@@ -875,6 +877,20 @@ static void check_inode_end(e2fsck_t ctx)
|
|
|
a2a4bc |
ctx->flags |= E2F_FLAG_ABORT; /* fatal */
|
|
|
a2a4bc |
return;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
+ /*
|
|
|
a2a4bc |
+ * If the number of inodes per block group != blocksize, we
|
|
|
a2a4bc |
+ * can also have a potential problem with the tail bits in
|
|
|
a2a4bc |
+ * each individual inode bitmap block. If there is a problem,
|
|
|
a2a4bc |
+ * it would have been noticed when the bitmap was loaded. And
|
|
|
a2a4bc |
+ * fixing this is easy; all we need to do force the bitmap to
|
|
|
a2a4bc |
+ * be written back to disk.
|
|
|
a2a4bc |
+ */
|
|
|
a2a4bc |
+check_intra_bg_tail:
|
|
|
a2a4bc |
+ if (!asked && fs->flags & EXT2_FLAG_IBITMAP_TAIL_PROBLEM)
|
|
|
a2a4bc |
+ if (fix_problem(ctx, PR_5_INODE_BMAP_PADDING, &pctx))
|
|
|
a2a4bc |
+ ext2fs_mark_ib_dirty(fs);
|
|
|
a2a4bc |
+ else
|
|
|
a2a4bc |
+ ext2fs_unmark_valid(fs);
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
|
|
|
a2a4bc |
static void check_block_end(e2fsck_t ctx)
|
|
|
a2a4bc |
@@ -882,6 +898,7 @@ static void check_block_end(e2fsck_t ctx)
|
|
|
a2a4bc |
ext2_filsys fs = ctx->fs;
|
|
|
a2a4bc |
blk64_t end, save_blocks_count, i;
|
|
|
a2a4bc |
struct problem_context pctx;
|
|
|
a2a4bc |
+ int asked = 0;
|
|
|
a2a4bc |
|
|
|
a2a4bc |
clear_problem_context(&pctx);
|
|
|
a2a4bc |
|
|
|
a2a4bc |
@@ -896,12 +913,13 @@ static void check_block_end(e2fsck_t ctx)
|
|
|
a2a4bc |
return;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
if (save_blocks_count == end)
|
|
|
a2a4bc |
- return;
|
|
|
a2a4bc |
+ goto check_intra_bg_tail;
|
|
|
a2a4bc |
|
|
|
a2a4bc |
/* Protect loop from wrap-around if end is maxed */
|
|
|
a2a4bc |
for (i = save_blocks_count + 1; i <= end && i > save_blocks_count; i++) {
|
|
|
a2a4bc |
if (!ext2fs_test_block_bitmap2(fs->block_map,
|
|
|
a2a4bc |
EXT2FS_C2B(fs, i))) {
|
|
|
a2a4bc |
+ asked = 1;
|
|
|
a2a4bc |
if (fix_problem(ctx, PR_5_BLOCK_BMAP_PADDING, &pctx)) {
|
|
|
a2a4bc |
for (; i <= end; i++)
|
|
|
a2a4bc |
ext2fs_mark_block_bitmap2(fs->block_map,
|
|
|
a2a4bc |
@@ -921,7 +939,19 @@ static void check_block_end(e2fsck_t ctx)
|
|
|
a2a4bc |
ctx->flags |= E2F_FLAG_ABORT; /* fatal */
|
|
|
a2a4bc |
return;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
+ /*
|
|
|
a2a4bc |
+ * If the number of blocks per block group != blocksize, we
|
|
|
a2a4bc |
+ * can also have a potential problem with the tail bits in
|
|
|
a2a4bc |
+ * each individual block bitmap block. If there is a problem,
|
|
|
a2a4bc |
+ * it would have been noticed when the bitmap was loaded. And
|
|
|
a2a4bc |
+ * fixing this is easy; all we need to do force the bitmap to
|
|
|
a2a4bc |
+ * be written back to disk.
|
|
|
a2a4bc |
+ */
|
|
|
a2a4bc |
+check_intra_bg_tail:
|
|
|
a2a4bc |
+ if (!asked && fs->flags & EXT2_FLAG_BBITMAP_TAIL_PROBLEM) {
|
|
|
a2a4bc |
+ if (fix_problem(ctx, PR_5_BLOCK_BMAP_PADDING, &pctx))
|
|
|
a2a4bc |
+ ext2fs_mark_bb_dirty(fs);
|
|
|
a2a4bc |
+ else
|
|
|
a2a4bc |
+ ext2fs_unmark_valid(fs);
|
|
|
a2a4bc |
+ }
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
-
|
|
|
a2a4bc |
-
|
|
|
a2a4bc |
-
|
|
|
a2a4bc |
diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
|
|
|
a2a4bc |
index 96735c8e..285eb5e1 100644
|
|
|
a2a4bc |
--- a/lib/ext2fs/ext2fs.h
|
|
|
a2a4bc |
+++ b/lib/ext2fs/ext2fs.h
|
|
|
a2a4bc |
@@ -199,6 +199,8 @@ typedef struct ext2_file *ext2_file_t;
|
|
|
a2a4bc |
#define EXT2_FLAG_IGNORE_CSUM_ERRORS 0x200000
|
|
|
a2a4bc |
#define EXT2_FLAG_SHARE_DUP 0x400000
|
|
|
a2a4bc |
#define EXT2_FLAG_IGNORE_SB_ERRORS 0x800000
|
|
|
a2a4bc |
+#define EXT2_FLAG_BBITMAP_TAIL_PROBLEM 0x1000000
|
|
|
a2a4bc |
+#define EXT2_FLAG_IBITMAP_TAIL_PROBLEM 0x2000000
|
|
|
a2a4bc |
|
|
|
a2a4bc |
/*
|
|
|
a2a4bc |
* Special flag in the ext2 inode i_flag field that means that this is
|
|
|
a2a4bc |
diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c
|
|
|
a2a4bc |
index e86bacd5..f1c4188b 100644
|
|
|
a2a4bc |
--- a/lib/ext2fs/rw_bitmaps.c
|
|
|
a2a4bc |
+++ b/lib/ext2fs/rw_bitmaps.c
|
|
|
a2a4bc |
@@ -195,6 +195,16 @@ static errcode_t mark_uninit_bg_group_blocks(ext2_filsys fs)
|
|
|
a2a4bc |
return 0;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+static int bitmap_tail_verify(unsigned char *bitmap, int first, int last)
|
|
|
a2a4bc |
+{
|
|
|
a2a4bc |
+ int i;
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
+ for (i = first; i <= last; i++)
|
|
|
a2a4bc |
+ if (bitmap[i] != 0xff)
|
|
|
a2a4bc |
+ return 0;
|
|
|
a2a4bc |
+ return 1;
|
|
|
a2a4bc |
+}
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
|
|
|
a2a4bc |
{
|
|
|
a2a4bc |
dgrp_t i;
|
|
|
a2a4bc |
@@ -203,6 +213,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
|
|
|
a2a4bc |
errcode_t retval;
|
|
|
a2a4bc |
int block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8;
|
|
|
a2a4bc |
int inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8;
|
|
|
a2a4bc |
+ int tail_flags = 0;
|
|
|
a2a4bc |
int csum_flag;
|
|
|
a2a4bc |
unsigned int cnt;
|
|
|
a2a4bc |
blk64_t blk;
|
|
|
a2a4bc |
@@ -315,6 +326,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
|
|
|
a2a4bc |
EXT2_ET_BLOCK_BITMAP_CSUM_INVALID;
|
|
|
a2a4bc |
goto cleanup;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
+ if (!bitmap_tail_verify((unsigned char *) block_bitmap,
|
|
|
a2a4bc |
+ block_nbytes, fs->blocksize - 1))
|
|
|
a2a4bc |
+ tail_flags |= EXT2_FLAG_BBITMAP_TAIL_PROBLEM;
|
|
|
a2a4bc |
} else
|
|
|
a2a4bc |
memset(block_bitmap, 0, block_nbytes);
|
|
|
a2a4bc |
cnt = block_nbytes << 3;
|
|
|
a2a4bc |
@@ -347,6 +361,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
|
|
|
a2a4bc |
EXT2_ET_INODE_BITMAP_CSUM_INVALID;
|
|
|
a2a4bc |
goto cleanup;
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
+ if (!bitmap_tail_verify((unsigned char *) inode_bitmap,
|
|
|
a2a4bc |
+ inode_nbytes, fs->blocksize - 1))
|
|
|
a2a4bc |
+ tail_flags |= EXT2_FLAG_IBITMAP_TAIL_PROBLEM;
|
|
|
a2a4bc |
} else
|
|
|
a2a4bc |
memset(inode_bitmap, 0, inode_nbytes);
|
|
|
a2a4bc |
cnt = inode_nbytes << 3;
|
|
|
a2a4bc |
@@ -366,10 +383,15 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
|
|
|
a2a4bc |
}
|
|
|
a2a4bc |
|
|
|
a2a4bc |
success_cleanup:
|
|
|
a2a4bc |
- if (inode_bitmap)
|
|
|
a2a4bc |
+ if (inode_bitmap) {
|
|
|
a2a4bc |
ext2fs_free_mem(&inode_bitmap);
|
|
|
a2a4bc |
- if (block_bitmap)
|
|
|
a2a4bc |
+ fs->flags &= ~EXT2_FLAG_IBITMAP_TAIL_PROBLEM;
|
|
|
a2a4bc |
+ }
|
|
|
a2a4bc |
+ if (block_bitmap) {
|
|
|
a2a4bc |
ext2fs_free_mem(&block_bitmap);
|
|
|
a2a4bc |
+ fs->flags &= ~EXT2_FLAG_BBITMAP_TAIL_PROBLEM;
|
|
|
a2a4bc |
+ }
|
|
|
a2a4bc |
+ fs->flags |= tail_flags;
|
|
|
a2a4bc |
return 0;
|
|
|
a2a4bc |
|
|
|
a2a4bc |
cleanup:
|
|
|
a2a4bc |
diff --git a/tests/f_bitmaps/expect.1 b/tests/f_bitmaps/expect.1
|
|
|
a2a4bc |
index 715984d4..2e91113d 100644
|
|
|
a2a4bc |
--- a/tests/f_bitmaps/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_bitmaps/expect.1
|
|
|
a2a4bc |
@@ -11,6 +11,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +11 -15
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32 files (9.1% non-contiguous), 22/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_dup/expect.1 b/tests/f_dup/expect.1
|
|
|
a2a4bc |
index 075e62c1..635a0dfc 100644
|
|
|
a2a4bc |
--- a/tests/f_dup/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_dup/expect.1
|
|
|
a2a4bc |
@@ -30,6 +30,8 @@ Fix? yes
|
|
|
a2a4bc |
Free blocks count wrong (62, counted=60).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Padding at end of block bitmap is not set. Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
|
|
|
a2a4bc |
diff --git a/tests/f_dup2/expect.1 b/tests/f_dup2/expect.1
|
|
|
a2a4bc |
index 69aa21b4..04d7304b 100644
|
|
|
a2a4bc |
--- a/tests/f_dup2/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_dup2/expect.1
|
|
|
a2a4bc |
@@ -37,6 +37,8 @@ Fix? yes
|
|
|
a2a4bc |
Free blocks count wrong (26, counted=22).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Padding at end of block bitmap is not set. Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
|
|
|
a2a4bc |
diff --git a/tests/f_dup3/expect.1 b/tests/f_dup3/expect.1
|
|
|
a2a4bc |
index eab75a8d..5f79cb89 100644
|
|
|
a2a4bc |
--- a/tests/f_dup3/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_dup3/expect.1
|
|
|
a2a4bc |
@@ -39,6 +39,8 @@ Fix? yes
|
|
|
a2a4bc |
Free blocks count wrong (20, counted=19).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 16/16 files (25.0% non-contiguous), 81/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_end-bitmap/expect.1 b/tests/f_end-bitmap/expect.1
|
|
|
a2a4bc |
index 87e2fd64..85c7e67f 100644
|
|
|
a2a4bc |
--- a/tests/f_end-bitmap/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_end-bitmap/expect.1
|
|
|
a2a4bc |
@@ -8,6 +8,8 @@ Pass 5: Checking group summary information
|
|
|
a2a4bc |
Free blocks count wrong for group #0 (44, counted=63).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Padding at end of block bitmap is not set. Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
|
|
|
a2a4bc |
diff --git a/tests/f_illbbitmap/expect.1 b/tests/f_illbbitmap/expect.1
|
|
|
a2a4bc |
index 8746d23a..40996cd6 100644
|
|
|
a2a4bc |
--- a/tests/f_illbbitmap/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_illbbitmap/expect.1
|
|
|
a2a4bc |
@@ -22,6 +22,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: -(12--21)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_illibitmap/expect.1 b/tests/f_illibitmap/expect.1
|
|
|
a2a4bc |
index 5bae25d1..bf21df7a 100644
|
|
|
a2a4bc |
--- a/tests/f_illibitmap/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_illibitmap/expect.1
|
|
|
a2a4bc |
@@ -19,6 +19,8 @@ Pass 5: Checking group summary information
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_illitable_flexbg/expect.1 b/tests/f_illitable_flexbg/expect.1
|
|
|
a2a4bc |
index fa42a0f8..4ac12463 100644
|
|
|
a2a4bc |
--- a/tests/f_illitable_flexbg/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_illitable_flexbg/expect.1
|
|
|
a2a4bc |
@@ -18,6 +18,8 @@ Pass 5: Checking group summary information
|
|
|
a2a4bc |
Inode bitmap differences: -(65--128)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 12/256 files (0.0% non-contiguous), 31163/32768 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_lpf/expect.1 b/tests/f_lpf/expect.1
|
|
|
a2a4bc |
index 4f2853c5..6ef996bb 100644
|
|
|
a2a4bc |
--- a/tests/f_lpf/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_lpf/expect.1
|
|
|
a2a4bc |
@@ -42,6 +42,8 @@ Fix? yes
|
|
|
a2a4bc |
Free inodes count wrong (1, counted=0).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 16/16 files (12.5% non-contiguous), 67/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_overfsblks/expect.1 b/tests/f_overfsblks/expect.1
|
|
|
a2a4bc |
index e5b93f0d..bc8f2a87 100644
|
|
|
a2a4bc |
--- a/tests/f_overfsblks/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_overfsblks/expect.1
|
|
|
a2a4bc |
@@ -13,6 +13,8 @@ Pass 5: Checking group summary information
|
|
|
a2a4bc |
Inode bitmap differences: -(12--21)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
|
|
|
a2a4bc |
diff --git a/tests/f_super_bad_csum/expect.1 b/tests/f_super_bad_csum/expect.1
|
|
|
a2a4bc |
index 25ced5c8..12adee97 100644
|
|
|
a2a4bc |
--- a/tests/f_super_bad_csum/expect.1
|
|
|
a2a4bc |
+++ b/tests/f_super_bad_csum/expect.1
|
|
|
a2a4bc |
@@ -5,8 +5,8 @@ Pass 2: Checking directory structure
|
|
|
a2a4bc |
Pass 3: Checking directory connectivity
|
|
|
a2a4bc |
Pass 4: Checking reference counts
|
|
|
a2a4bc |
Pass 5: Checking group summary information
|
|
|
a2a4bc |
-Inode bitmap differences: Group 1 inode bitmap does not match checksum.
|
|
|
a2a4bc |
-FIXED.
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/1024 files (0.0% non-contiguous), 1557/16384 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_corrupt_ext_jnl_sb_csum/expect b/tests/j_corrupt_ext_jnl_sb_csum/expect
|
|
|
a2a4bc |
index 70a4fe72..4212a000 100644
|
|
|
a2a4bc |
--- a/tests/j_corrupt_ext_jnl_sb_csum/expect
|
|
|
a2a4bc |
+++ b/tests/j_corrupt_ext_jnl_sb_csum/expect
|
|
|
a2a4bc |
@@ -12,6 +12,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/128 files (0.0% non-contiguous), 66/2048 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_ext_long_trans/expect b/tests/j_ext_long_trans/expect
|
|
|
a2a4bc |
index d379610e..ea3c87fc 100644
|
|
|
a2a4bc |
--- a/tests/j_ext_long_trans/expect
|
|
|
a2a4bc |
+++ b/tests/j_ext_long_trans/expect
|
|
|
a2a4bc |
@@ -98,6 +98,8 @@ Fix? yes
|
|
|
a2a4bc |
Free inodes count wrong (16372, counted=16373).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 6228/262144 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_long_trans/expect b/tests/j_long_trans/expect
|
|
|
a2a4bc |
index 7a175414..82b3caf1 100644
|
|
|
a2a4bc |
--- a/tests/j_long_trans/expect
|
|
|
a2a4bc |
+++ b/tests/j_long_trans/expect
|
|
|
a2a4bc |
@@ -96,6 +96,8 @@ Fix? yes
|
|
|
a2a4bc |
Free inodes count wrong (16372, counted=16373).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Recreate journal? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Creating journal (8192 blocks): Done.
|
|
|
a2a4bc |
diff --git a/tests/j_long_trans_mcsum_32bit/expect b/tests/j_long_trans_mcsum_32bit/expect
|
|
|
a2a4bc |
index a808d9f4..ffae07a6 100644
|
|
|
a2a4bc |
--- a/tests/j_long_trans_mcsum_32bit/expect
|
|
|
a2a4bc |
+++ b/tests/j_long_trans_mcsum_32bit/expect
|
|
|
a2a4bc |
@@ -135,6 +135,8 @@ Fix? yes
|
|
|
a2a4bc |
Free inodes count wrong (32756, counted=32757).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Recreate journal? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Creating journal (16384 blocks): Done.
|
|
|
a2a4bc |
diff --git a/tests/j_long_trans_mcsum_64bit/expect b/tests/j_long_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
index 76e109a4..e891def1 100644
|
|
|
a2a4bc |
--- a/tests/j_long_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
+++ b/tests/j_long_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
@@ -134,6 +134,8 @@ Fix? yes
|
|
|
a2a4bc |
Free inodes count wrong (32756, counted=32757).
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
Recreate journal? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
Creating journal (16384 blocks): Done.
|
|
|
a2a4bc |
diff --git a/tests/j_recover_csum2_32bit/expect.1 b/tests/j_recover_csum2_32bit/expect.1
|
|
|
a2a4bc |
index 491784a2..fdbda36e 100644
|
|
|
a2a4bc |
--- a/tests/j_recover_csum2_32bit/expect.1
|
|
|
a2a4bc |
+++ b/tests/j_recover_csum2_32bit/expect.1
|
|
|
a2a4bc |
@@ -10,6 +10,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/8192 files (0.0% non-contiguous), 7739/131072 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_recover_csum2_64bit/expect.1 b/tests/j_recover_csum2_64bit/expect.1
|
|
|
a2a4bc |
index 491784a2..fdbda36e 100644
|
|
|
a2a4bc |
--- a/tests/j_recover_csum2_64bit/expect.1
|
|
|
a2a4bc |
+++ b/tests/j_recover_csum2_64bit/expect.1
|
|
|
a2a4bc |
@@ -10,6 +10,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/8192 files (0.0% non-contiguous), 7739/131072 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans/expect b/tests/j_short_trans/expect
|
|
|
a2a4bc |
index bcc8fe82..2bd0e506 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans/expect
|
|
|
a2a4bc |
@@ -32,6 +32,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_64bit/expect b/tests/j_short_trans_64bit/expect
|
|
|
a2a4bc |
index f9971eba..808dc61d 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_64bit/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_64bit/expect
|
|
|
a2a4bc |
@@ -34,6 +34,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5196/65536 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_mcsum_64bit/expect b/tests/j_short_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
index d876ff09..d73e2829 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_mcsum_64bit/expect
|
|
|
a2a4bc |
@@ -34,6 +34,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_old_csum/expect b/tests/j_short_trans_old_csum/expect
|
|
|
a2a4bc |
index 29ac27fb..6cf06d4a 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_old_csum/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_old_csum/expect
|
|
|
a2a4bc |
@@ -34,6 +34,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_open_recover/expect b/tests/j_short_trans_open_recover/expect
|
|
|
a2a4bc |
index be6e363d..3e868197 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_open_recover/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_open_recover/expect
|
|
|
a2a4bc |
@@ -37,6 +37,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_recover/expect b/tests/j_short_trans_recover/expect
|
|
|
a2a4bc |
index 75867337..508858c9 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_recover/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_recover/expect
|
|
|
a2a4bc |
@@ -34,6 +34,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
|
|
|
a2a4bc |
diff --git a/tests/j_short_trans_recover_mcsum_64bit/expect b/tests/j_short_trans_recover_mcsum_64bit/expect
|
|
|
a2a4bc |
index 9cc33097..8c637f12 100644
|
|
|
a2a4bc |
--- a/tests/j_short_trans_recover_mcsum_64bit/expect
|
|
|
a2a4bc |
+++ b/tests/j_short_trans_recover_mcsum_64bit/expect
|
|
|
a2a4bc |
@@ -36,6 +36,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
|
|
|
a2a4bc |
diff --git a/tests/t_replay_and_set/expect b/tests/t_replay_and_set/expect
|
|
|
a2a4bc |
index f63a73af..3e19d92e 100644
|
|
|
a2a4bc |
--- a/tests/t_replay_and_set/expect
|
|
|
a2a4bc |
+++ b/tests/t_replay_and_set/expect
|
|
|
a2a4bc |
@@ -30,6 +30,8 @@ Fix? yes
|
|
|
a2a4bc |
Inode bitmap differences: +(1--11)
|
|
|
a2a4bc |
Fix? yes
|
|
|
a2a4bc |
|
|
|
a2a4bc |
+Padding at end of inode bitmap is not set. Fix? yes
|
|
|
a2a4bc |
+
|
|
|
a2a4bc |
|
|
|
a2a4bc |
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
|
|
|
a2a4bc |
test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
|
|
|
a2a4bc |
--
|
|
|
a2a4bc |
2.20.1
|
|
|
a2a4bc |
|