diff options
Diffstat (limited to 'fs/ext4/ialloc.c')
| -rw-r--r-- | fs/ext4/ialloc.c | 17 | 
1 files changed, 7 insertions, 10 deletions
diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index a6383fcb714..a044a9b7749 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c @@ -70,13 +70,11 @@ static unsigned ext4_init_inode_bitmap(struct super_block *sb,  				       ext4_group_t block_group,  				       struct ext4_group_desc *gdp)  { -	struct ext4_sb_info *sbi = EXT4_SB(sb); -  	J_ASSERT_BH(bh, buffer_locked(bh));  	/* If checksum is bad mark all blocks and inodes use to prevent  	 * allocation, essentially implementing a per-group read-only flag. */ -	if (!ext4_group_desc_csum_verify(sbi, block_group, gdp)) { +	if (!ext4_group_desc_csum_verify(sb, block_group, gdp)) {  		ext4_error(sb, "Checksum bad for group %u", block_group);  		ext4_free_group_clusters_set(sb, gdp, 0);  		ext4_free_inodes_set(sb, gdp, 0); @@ -92,7 +90,7 @@ static unsigned ext4_init_inode_bitmap(struct super_block *sb,  			bh->b_data);  	ext4_inode_bitmap_csum_set(sb, block_group, gdp, bh,  				   EXT4_INODES_PER_GROUP(sb) / 8); -	gdp->bg_checksum = ext4_group_desc_csum(sbi, block_group, gdp); +	ext4_group_desc_csum_set(sb, block_group, gdp);  	return EXT4_INODES_PER_GROUP(sb);  } @@ -298,7 +296,7 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)  	}  	ext4_inode_bitmap_csum_set(sb, block_group, gdp, bitmap_bh,  				   EXT4_INODES_PER_GROUP(sb) / 8); -	gdp->bg_checksum = ext4_group_desc_csum(sbi, block_group, gdp); +	ext4_group_desc_csum_set(sb, block_group, gdp);  	ext4_unlock_group(sb, block_group);  	percpu_counter_inc(&sbi->s_freeinodes_counter); @@ -731,7 +729,7 @@ repeat_in_this_group:  got:  	/* We may have to initialize the block bitmap if it isn't already */ -	if (EXT4_HAS_RO_COMPAT_FEATURE(sb, EXT4_FEATURE_RO_COMPAT_GDT_CSUM) && +	if (ext4_has_group_desc_csum(sb) &&  	    gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)) {  		struct buffer_head *block_bitmap_bh; @@ -757,8 +755,7 @@ got:  						   block_bitmap_bh,  						   EXT4_BLOCKS_PER_GROUP(sb) /  						   8); -			gdp->bg_checksum = ext4_group_desc_csum(sbi, group, -								gdp); +			ext4_group_desc_csum_set(sb, group, gdp);  		}  		ext4_unlock_group(sb, group); @@ -811,7 +808,7 @@ got:  	if (ext4_has_group_desc_csum(sb)) {  		ext4_inode_bitmap_csum_set(sb, group, gdp, inode_bitmap_bh,  					   EXT4_INODES_PER_GROUP(sb) / 8); -		gdp->bg_checksum = ext4_group_desc_csum(sbi, group, gdp); +		ext4_group_desc_csum_set(sb, group, gdp);  		ext4_unlock_group(sb, group);  	} @@ -1181,7 +1178,7 @@ int ext4_init_inode_table(struct super_block *sb, ext4_group_t group,  skip_zeroout:  	ext4_lock_group(sb, group);  	gdp->bg_flags |= cpu_to_le16(EXT4_BG_INODE_ZEROED); -	gdp->bg_checksum = ext4_group_desc_csum(sbi, group, gdp); +	ext4_group_desc_csum_set(sb, group, gdp);  	ext4_unlock_group(sb, group);  	BUFFER_TRACE(group_desc_bh,  |