diff options
Diffstat (limited to 'fs/ext4/mballoc.c')
| -rw-r--r-- | fs/ext4/mballoc.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 6eae2b91aafa..f7ab34088162 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -2423,7 +2423,8 @@ int ext4_mb_add_groupinfo(struct super_block *sb, ext4_group_t group,  	 * initialize bb_free to be able to skip  	 * empty groups without initialization  	 */ -	if (desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { +	if (ext4_has_group_desc_csum(sb) && +	    (desc->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT))) {  		meta_group_info[i]->bb_free =  			ext4_free_clusters_after_init(sb, group, desc);  	} else { @@ -2989,7 +2990,8 @@ ext4_mb_mark_diskspace_used(struct ext4_allocation_context *ac,  #endif  	ext4_set_bits(bitmap_bh->b_data, ac->ac_b_ex.fe_start,  		      ac->ac_b_ex.fe_len); -	if (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) { +	if (ext4_has_group_desc_csum(sb) && +	    (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT))) {  		gdp->bg_flags &= cpu_to_le16(~EXT4_BG_BLOCK_UNINIT);  		ext4_free_group_clusters_set(sb, gdp,  					     ext4_free_clusters_after_init(sb,  |