lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190506090804.GA13191@quack2.suse.cz>
Date:   Mon, 6 May 2019 11:08:04 +0200
From:   Jan Kara <jack@...e.cz>
To:     Theodore Ts'o <tytso@....edu>
Cc:     Jan Kara <jack@...e.cz>, linux-ext4@...r.kernel.org
Subject: Re: [PATCH] e2fsck: Check and fix tails of all bitmaps

Hi Ted!

On Sun 05-05-19 17:48:35, Theodore Ts'o wrote:
> Here's my proposed approach to solving the problem you've identified.

Thanks for the patch! It looks good to me and it's indeed somewhat cleaner
that what I've suggested. You can add:

Reviewed-by: Jan Kara <jack@...e.cz>

And yes, I forgot about running make check. Sorry for that.

								Honza

> From 6d0b48896247dc70b16482a8ff4123d570285a2a Mon Sep 17 00:00:00 2001
> From: Theodore Ts'o <tytso@....edu>
> Date: Sun, 5 May 2019 16:43:33 -0400
> Subject: [PATCH] e2fsck: check and fix tails of all bitmap blocks
> 
> Currently, e2fsck effectively checks only tail of the last inode and
> block bitmap in the filesystem. Thus if some previous bitmap has unset
> bits it goes unnoticed.  Mostly these tail bits in the bitmap are
> ignored; however, if blocks_per_group are smaller than 8*blocksize,
> the multi-block allocator in the kernel can get confused when the tail
> bits are unset and return bogus free extent.
> 
> Add support to libext2fs to check these bitmap tails when loading
> bitmaps (as that's about the only place which has access to the bitmap
> tail bits) and make e2fsck use this functionality to detect buggy bitmap
> tails and fix them (by rewriting the bitmaps).
> 
> Reported-by: Jan Kara <jack@...e.cz>
> Signed-off-by: Theodore Ts'o <tytso@....edu>
> ---
>  e2fsck/pass5.c                                | 40 ++++++++++++++++---
>  lib/ext2fs/ext2fs.h                           |  2 +
>  lib/ext2fs/rw_bitmaps.c                       | 26 +++++++++++-
>  tests/f_bitmaps/expect.1                      |  2 +
>  tests/f_dup/expect.1                          |  2 +
>  tests/f_dup2/expect.1                         |  2 +
>  tests/f_dup3/expect.1                         |  2 +
>  tests/f_end-bitmap/expect.1                   |  2 +
>  tests/f_illbbitmap/expect.1                   |  2 +
>  tests/f_illibitmap/expect.1                   |  2 +
>  tests/f_illitable_flexbg/expect.1             |  2 +
>  tests/f_lpf/expect.1                          |  2 +
>  tests/f_overfsblks/expect.1                   |  2 +
>  tests/f_super_bad_csum/expect.1               |  4 +-
>  tests/j_corrupt_ext_jnl_sb_csum/expect        |  2 +
>  tests/j_ext_long_trans/expect                 |  2 +
>  tests/j_long_trans/expect                     |  2 +
>  tests/j_long_trans_mcsum_32bit/expect         |  2 +
>  tests/j_long_trans_mcsum_64bit/expect         |  2 +
>  tests/j_recover_csum2_32bit/expect.1          |  2 +
>  tests/j_recover_csum2_64bit/expect.1          |  2 +
>  tests/j_short_trans/expect                    |  2 +
>  tests/j_short_trans_64bit/expect              |  2 +
>  tests/j_short_trans_mcsum_64bit/expect        |  2 +
>  tests/j_short_trans_old_csum/expect           |  2 +
>  tests/j_short_trans_open_recover/expect       |  2 +
>  tests/j_short_trans_recover/expect            |  2 +
>  .../j_short_trans_recover_mcsum_64bit/expect  |  2 +
>  tests/t_replay_and_set/expect                 |  2 +
>  29 files changed, 113 insertions(+), 9 deletions(-)
> 
> diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c
> index 7803e8b80..810090970 100644
> --- a/e2fsck/pass5.c
> +++ b/e2fsck/pass5.c
> @@ -838,6 +838,7 @@ static void check_inode_end(e2fsck_t ctx)
>  	ext2_filsys fs = ctx->fs;
>  	ext2_ino_t	end, save_inodes_count, i;
>  	struct problem_context	pctx;
> +	int asked = 0;
>  
>  	clear_problem_context(&pctx);
>  
> @@ -851,11 +852,12 @@ static void check_inode_end(e2fsck_t ctx)
>  		return;
>  	}
>  	if (save_inodes_count == end)
> -		return;
> +		goto check_intra_bg_tail;
>  
>  	/* protect loop from wrap-around if end is maxed */
>  	for (i = save_inodes_count + 1; i <= end && i > save_inodes_count; i++) {
>  		if (!ext2fs_test_inode_bitmap(fs->inode_map, i)) {
> +			asked = 1;
>  			if (fix_problem(ctx, PR_5_INODE_BMAP_PADDING, &pctx)) {
>  				for (; i <= end; i++)
>  					ext2fs_mark_inode_bitmap(fs->inode_map,
> @@ -875,6 +877,20 @@ static void check_inode_end(e2fsck_t ctx)
>  		ctx->flags |= E2F_FLAG_ABORT; /* fatal */
>  		return;
>  	}
> +	/*
> +	 * If the number of inodes per block group != blocksize, we
> +	 * can also have a potential problem with the tail bits in
> +	 * each individual inode bitmap block.  If there is a problem,
> +	 * it would have been noticed when the bitmap was loaded.  And
> +	 * fixing this is easy; all we need to do force the bitmap to
> +	 * be written back to disk.
> +	 */
> +check_intra_bg_tail:
> +	if (!asked && fs->flags & EXT2_FLAG_IBITMAP_TAIL_PROBLEM)
> +		if (fix_problem(ctx, PR_5_INODE_BMAP_PADDING, &pctx))
> +			ext2fs_mark_ib_dirty(fs);
> +		else
> +			ext2fs_unmark_valid(fs);
>  }
>  
>  static void check_block_end(e2fsck_t ctx)
> @@ -882,6 +898,7 @@ static void check_block_end(e2fsck_t ctx)
>  	ext2_filsys fs = ctx->fs;
>  	blk64_t	end, save_blocks_count, i;
>  	struct problem_context	pctx;
> +	int asked = 0;
>  
>  	clear_problem_context(&pctx);
>  
> @@ -896,12 +913,13 @@ static void check_block_end(e2fsck_t ctx)
>  		return;
>  	}
>  	if (save_blocks_count == end)
> -		return;
> +		goto check_intra_bg_tail;
>  
>  	/* Protect loop from wrap-around if end is maxed */
>  	for (i = save_blocks_count + 1; i <= end && i > save_blocks_count; i++) {
>  		if (!ext2fs_test_block_bitmap2(fs->block_map,
>  					       EXT2FS_C2B(fs, i))) {
> +			asked = 1;
>  			if (fix_problem(ctx, PR_5_BLOCK_BMAP_PADDING, &pctx)) {
>  				for (; i <= end; i++)
>  					ext2fs_mark_block_bitmap2(fs->block_map,
> @@ -921,7 +939,19 @@ static void check_block_end(e2fsck_t ctx)
>  		ctx->flags |= E2F_FLAG_ABORT; /* fatal */
>  		return;
>  	}
> +	/*
> +	 * If the number of blocks per block group != blocksize, we
> +	 * can also have a potential problem with the tail bits in
> +	 * each individual block bitmap block.  If there is a problem,
> +	 * it would have been noticed when the bitmap was loaded.  And
> +	 * fixing this is easy; all we need to do force the bitmap to
> +	 * be written back to disk.
> +	 */
> +check_intra_bg_tail:
> +	if (!asked && fs->flags & EXT2_FLAG_BBITMAP_TAIL_PROBLEM) {
> +		if (fix_problem(ctx, PR_5_BLOCK_BMAP_PADDING, &pctx))
> +			ext2fs_mark_bb_dirty(fs);
> +		else
> +			ext2fs_unmark_valid(fs);
> +	}
>  }
> -
> -
> -
> diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h
> index 7d7c346df..59fd97426 100644
> --- a/lib/ext2fs/ext2fs.h
> +++ b/lib/ext2fs/ext2fs.h
> @@ -204,6 +204,8 @@ typedef struct ext2_file *ext2_file_t;
>  #define EXT2_FLAG_IGNORE_CSUM_ERRORS	0x200000
>  #define EXT2_FLAG_SHARE_DUP		0x400000
>  #define EXT2_FLAG_IGNORE_SB_ERRORS	0x800000
> +#define EXT2_FLAG_BBITMAP_TAIL_PROBLEM	0x1000000
> +#define EXT2_FLAG_IBITMAP_TAIL_PROBLEM	0x2000000
>  
>  /*
>   * Special flag in the ext2 inode i_flag field that means that this is
> diff --git a/lib/ext2fs/rw_bitmaps.c b/lib/ext2fs/rw_bitmaps.c
> index e86bacd53..27c684d62 100644
> --- a/lib/ext2fs/rw_bitmaps.c
> +++ b/lib/ext2fs/rw_bitmaps.c
> @@ -195,6 +195,16 @@ static errcode_t mark_uninit_bg_group_blocks(ext2_filsys fs)
>  	return 0;
>  }
>  
> +static int bitmap_tail_verify(unsigned char *bitmap, int first, int last)
> +{
> +	int i;
> +
> +	for (i = first; i <= last; i++)
> +		if (bitmap[i] != 0xff)
> +			return 0;
> +	return 1;
> +}
> +
>  static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
>  {
>  	dgrp_t i;
> @@ -203,6 +213,7 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
>  	errcode_t retval;
>  	int block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8;
>  	int inode_nbytes = EXT2_INODES_PER_GROUP(fs->super) / 8;
> +	int tail_flags = 0;
>  	int csum_flag;
>  	unsigned int	cnt;
>  	blk64_t	blk;
> @@ -315,6 +326,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
>  					EXT2_ET_BLOCK_BITMAP_CSUM_INVALID;
>  					goto cleanup;
>  				}
> +				if (!bitmap_tail_verify(block_bitmap,
> +							block_nbytes, fs->blocksize - 1))
> +					tail_flags |= EXT2_FLAG_BBITMAP_TAIL_PROBLEM;
>  			} else
>  				memset(block_bitmap, 0, block_nbytes);
>  			cnt = block_nbytes << 3;
> @@ -347,6 +361,9 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
>  					EXT2_ET_INODE_BITMAP_CSUM_INVALID;
>  					goto cleanup;
>  				}
> +				if (!bitmap_tail_verify(inode_bitmap,
> +							inode_nbytes, fs->blocksize - 1))
> +					tail_flags |= EXT2_FLAG_IBITMAP_TAIL_PROBLEM;
>  			} else
>  				memset(inode_bitmap, 0, inode_nbytes);
>  			cnt = inode_nbytes << 3;
> @@ -366,10 +383,15 @@ static errcode_t read_bitmaps(ext2_filsys fs, int do_inode, int do_block)
>  	}
>  
>  success_cleanup:
> -	if (inode_bitmap)
> +	if (inode_bitmap) {
>  		ext2fs_free_mem(&inode_bitmap);
> -	if (block_bitmap)
> +		fs->flags &= ~EXT2_FLAG_IBITMAP_TAIL_PROBLEM;
> +	}
> +	if (block_bitmap) {
>  		ext2fs_free_mem(&block_bitmap);
> +		fs->flags &= ~EXT2_FLAG_BBITMAP_TAIL_PROBLEM;
> +	}
> +	fs->flags |= tail_flags;
>  	return 0;
>  
>  cleanup:
> diff --git a/tests/f_bitmaps/expect.1 b/tests/f_bitmaps/expect.1
> index 715984d4d..2e91113db 100644
> --- a/tests/f_bitmaps/expect.1
> +++ b/tests/f_bitmaps/expect.1
> @@ -11,6 +11,8 @@ Fix? yes
>  Inode bitmap differences:  +11 -15
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32 files (9.1% non-contiguous), 22/100 blocks
> diff --git a/tests/f_dup/expect.1 b/tests/f_dup/expect.1
> index 075e62c13..635a0dfc8 100644
> --- a/tests/f_dup/expect.1
> +++ b/tests/f_dup/expect.1
> @@ -30,6 +30,8 @@ Fix? yes
>  Free blocks count wrong (62, counted=60).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Padding at end of block bitmap is not set. Fix? yes
>  
>  
> diff --git a/tests/f_dup2/expect.1 b/tests/f_dup2/expect.1
> index 69aa21b4b..04d7304b4 100644
> --- a/tests/f_dup2/expect.1
> +++ b/tests/f_dup2/expect.1
> @@ -37,6 +37,8 @@ Fix? yes
>  Free blocks count wrong (26, counted=22).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Padding at end of block bitmap is not set. Fix? yes
>  
>  
> diff --git a/tests/f_dup3/expect.1 b/tests/f_dup3/expect.1
> index eab75a8dc..5f79cb891 100644
> --- a/tests/f_dup3/expect.1
> +++ b/tests/f_dup3/expect.1
> @@ -39,6 +39,8 @@ Fix? yes
>  Free blocks count wrong (20, counted=19).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 16/16 files (25.0% non-contiguous), 81/100 blocks
> diff --git a/tests/f_end-bitmap/expect.1 b/tests/f_end-bitmap/expect.1
> index 87e2fd647..85c7e67f4 100644
> --- a/tests/f_end-bitmap/expect.1
> +++ b/tests/f_end-bitmap/expect.1
> @@ -8,6 +8,8 @@ Pass 5: Checking group summary information
>  Free blocks count wrong for group #0 (44, counted=63).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Padding at end of block bitmap is not set. Fix? yes
>  
>  
> diff --git a/tests/f_illbbitmap/expect.1 b/tests/f_illbbitmap/expect.1
> index 8746d23a5..40996cd61 100644
> --- a/tests/f_illbbitmap/expect.1
> +++ b/tests/f_illbbitmap/expect.1
> @@ -22,6 +22,8 @@ Fix? yes
>  Inode bitmap differences:  -(12--21)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
> diff --git a/tests/f_illibitmap/expect.1 b/tests/f_illibitmap/expect.1
> index 5bae25d14..bf21df7a7 100644
> --- a/tests/f_illibitmap/expect.1
> +++ b/tests/f_illibitmap/expect.1
> @@ -19,6 +19,8 @@ Pass 5: Checking group summary information
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
> diff --git a/tests/f_illitable_flexbg/expect.1 b/tests/f_illitable_flexbg/expect.1
> index fa42a0f8b..4ac124639 100644
> --- a/tests/f_illitable_flexbg/expect.1
> +++ b/tests/f_illitable_flexbg/expect.1
> @@ -18,6 +18,8 @@ Pass 5: Checking group summary information
>  Inode bitmap differences:  -(65--128)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 12/256 files (0.0% non-contiguous), 31163/32768 blocks
> diff --git a/tests/f_lpf/expect.1 b/tests/f_lpf/expect.1
> index 4f2853c5b..6ef996bb6 100644
> --- a/tests/f_lpf/expect.1
> +++ b/tests/f_lpf/expect.1
> @@ -42,6 +42,8 @@ Fix? yes
>  Free inodes count wrong (1, counted=0).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 16/16 files (12.5% non-contiguous), 67/100 blocks
> diff --git a/tests/f_overfsblks/expect.1 b/tests/f_overfsblks/expect.1
> index e5b93f0d5..bc8f2a879 100644
> --- a/tests/f_overfsblks/expect.1
> +++ b/tests/f_overfsblks/expect.1
> @@ -13,6 +13,8 @@ Pass 5: Checking group summary information
>  Inode bitmap differences:  -(12--21)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32 files (0.0% non-contiguous), 22/100 blocks
> diff --git a/tests/f_super_bad_csum/expect.1 b/tests/f_super_bad_csum/expect.1
> index 25ced5c8a..12adee970 100644
> --- a/tests/f_super_bad_csum/expect.1
> +++ b/tests/f_super_bad_csum/expect.1
> @@ -5,8 +5,8 @@ Pass 2: Checking directory structure
>  Pass 3: Checking directory connectivity
>  Pass 4: Checking reference counts
>  Pass 5: Checking group summary information
> -Inode bitmap differences: Group 1 inode bitmap does not match checksum.
> -FIXED.
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/1024 files (0.0% non-contiguous), 1557/16384 blocks
> diff --git a/tests/j_corrupt_ext_jnl_sb_csum/expect b/tests/j_corrupt_ext_jnl_sb_csum/expect
> index 70a4fe721..4212a0007 100644
> --- a/tests/j_corrupt_ext_jnl_sb_csum/expect
> +++ b/tests/j_corrupt_ext_jnl_sb_csum/expect
> @@ -12,6 +12,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/128 files (0.0% non-contiguous), 66/2048 blocks
> diff --git a/tests/j_ext_long_trans/expect b/tests/j_ext_long_trans/expect
> index d379610e7..ea3c87fcb 100644
> --- a/tests/j_ext_long_trans/expect
> +++ b/tests/j_ext_long_trans/expect
> @@ -98,6 +98,8 @@ Fix? yes
>  Free inodes count wrong (16372, counted=16373).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 6228/262144 blocks
> diff --git a/tests/j_long_trans/expect b/tests/j_long_trans/expect
> index 7a175414b..82b3caf17 100644
> --- a/tests/j_long_trans/expect
> +++ b/tests/j_long_trans/expect
> @@ -96,6 +96,8 @@ Fix? yes
>  Free inodes count wrong (16372, counted=16373).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Recreate journal? yes
>  
>  Creating journal (8192 blocks):  Done.
> diff --git a/tests/j_long_trans_mcsum_32bit/expect b/tests/j_long_trans_mcsum_32bit/expect
> index a808d9f4d..ffae07a69 100644
> --- a/tests/j_long_trans_mcsum_32bit/expect
> +++ b/tests/j_long_trans_mcsum_32bit/expect
> @@ -135,6 +135,8 @@ Fix? yes
>  Free inodes count wrong (32756, counted=32757).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Recreate journal? yes
>  
>  Creating journal (16384 blocks):  Done.
> diff --git a/tests/j_long_trans_mcsum_64bit/expect b/tests/j_long_trans_mcsum_64bit/expect
> index 76e109a42..e891def16 100644
> --- a/tests/j_long_trans_mcsum_64bit/expect
> +++ b/tests/j_long_trans_mcsum_64bit/expect
> @@ -134,6 +134,8 @@ Fix? yes
>  Free inodes count wrong (32756, counted=32757).
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  Recreate journal? yes
>  
>  Creating journal (16384 blocks):  Done.
> diff --git a/tests/j_recover_csum2_32bit/expect.1 b/tests/j_recover_csum2_32bit/expect.1
> index 491784a25..fdbda36e2 100644
> --- a/tests/j_recover_csum2_32bit/expect.1
> +++ b/tests/j_recover_csum2_32bit/expect.1
> @@ -10,6 +10,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/8192 files (0.0% non-contiguous), 7739/131072 blocks
> diff --git a/tests/j_recover_csum2_64bit/expect.1 b/tests/j_recover_csum2_64bit/expect.1
> index 491784a25..fdbda36e2 100644
> --- a/tests/j_recover_csum2_64bit/expect.1
> +++ b/tests/j_recover_csum2_64bit/expect.1
> @@ -10,6 +10,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/8192 files (0.0% non-contiguous), 7739/131072 blocks
> diff --git a/tests/j_short_trans/expect b/tests/j_short_trans/expect
> index bcc8fe82a..2bd0e5069 100644
> --- a/tests/j_short_trans/expect
> +++ b/tests/j_short_trans/expect
> @@ -32,6 +32,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
> diff --git a/tests/j_short_trans_64bit/expect b/tests/j_short_trans_64bit/expect
> index f9971eba3..808dc61df 100644
> --- a/tests/j_short_trans_64bit/expect
> +++ b/tests/j_short_trans_64bit/expect
> @@ -34,6 +34,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5196/65536 blocks
> diff --git a/tests/j_short_trans_mcsum_64bit/expect b/tests/j_short_trans_mcsum_64bit/expect
> index d876ff095..d73e28297 100644
> --- a/tests/j_short_trans_mcsum_64bit/expect
> +++ b/tests/j_short_trans_mcsum_64bit/expect
> @@ -34,6 +34,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
> diff --git a/tests/j_short_trans_old_csum/expect b/tests/j_short_trans_old_csum/expect
> index 29ac27fb3..6cf06d4a2 100644
> --- a/tests/j_short_trans_old_csum/expect
> +++ b/tests/j_short_trans_old_csum/expect
> @@ -34,6 +34,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
> diff --git a/tests/j_short_trans_open_recover/expect b/tests/j_short_trans_open_recover/expect
> index be6e363dc..3e868197d 100644
> --- a/tests/j_short_trans_open_recover/expect
> +++ b/tests/j_short_trans_open_recover/expect
> @@ -37,6 +37,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
> diff --git a/tests/j_short_trans_recover/expect b/tests/j_short_trans_recover/expect
> index 75867337f..508858c98 100644
> --- a/tests/j_short_trans_recover/expect
> +++ b/tests/j_short_trans_recover/expect
> @@ -34,6 +34,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
> diff --git a/tests/j_short_trans_recover_mcsum_64bit/expect b/tests/j_short_trans_recover_mcsum_64bit/expect
> index 9cc330978..8c637f122 100644
> --- a/tests/j_short_trans_recover_mcsum_64bit/expect
> +++ b/tests/j_short_trans_recover_mcsum_64bit/expect
> @@ -36,6 +36,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/32768 files (0.0% non-contiguous), 6353/131072 blocks
> diff --git a/tests/t_replay_and_set/expect b/tests/t_replay_and_set/expect
> index f63a73af5..3e19d92e9 100644
> --- a/tests/t_replay_and_set/expect
> +++ b/tests/t_replay_and_set/expect
> @@ -30,6 +30,8 @@ Fix? yes
>  Inode bitmap differences:  +(1--11)
>  Fix? yes
>  
> +Padding at end of inode bitmap is not set. Fix? yes
> +
>  
>  test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
>  test_filesys: 11/16384 files (0.0% non-contiguous), 5164/65536 blocks
> -- 
> 2.19.1
> 
-- 
Jan Kara <jack@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ