On Mon 19-02-18 21:30:38, Theodore Ts'o wrote: > When reading the inode or block allocation bitmap, if the bitmap needs > to be initialized, do not update the checksum in the block group > descriptor. That's because we're not set up to journal those changes. > Instead, just set the verified bit on the bitmap block, so that it's > not necessary to validate the checksum. > > When a block or inode allocation actually happens, at that point the > checksum will be calculated, and update of the bg descriptor block > will be properly journalled. > > Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > --- > fs/ext4/balloc.c | 3 +-- > fs/ext4/ialloc.c | 47 +++-------------------------------------------- > 2 files changed, 4 insertions(+), 46 deletions(-) > > diff --git a/fs/ext4/balloc.c b/fs/ext4/balloc.c > index f9b3e0a83526..f82c4966f4ce 100644 > --- a/fs/ext4/balloc.c > +++ b/fs/ext4/balloc.c > @@ -243,8 +243,6 @@ static int ext4_init_block_bitmap(struct super_block *sb, > */ > ext4_mark_bitmap_end(num_clusters_in_group(sb, block_group), > sb->s_blocksize * 8, bh->b_data); > - ext4_block_bitmap_csum_set(sb, block_group, gdp, bh); > - ext4_group_desc_csum_set(sb, block_group, gdp); > return 0; > } Probably you should remove the bad checksum handling in ext4_init_block_bitmap() the same way as you did in ext4_init_inode_bitmap()? Otherwise the patch looks good. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR