diff options
Diffstat (limited to 'fs/ext4/indirect.c')
| -rw-r--r-- | fs/ext4/indirect.c | 20 | 
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c index be2b66eb65f7..80c9f33800be 100644 --- a/fs/ext4/indirect.c +++ b/fs/ext4/indirect.c @@ -696,7 +696,7 @@ static int ext4_ind_trunc_restart_fn(handle_t *handle, struct inode *inode,  	 * i_mutex. So we can safely drop the i_data_sem here.  	 */  	BUG_ON(EXT4_JOURNAL(inode) == NULL); -	ext4_discard_preallocations(inode); +	ext4_discard_preallocations(inode, 0);  	up_write(&EXT4_I(inode)->i_data_sem);  	*dropped = 1;  	return 0; @@ -858,8 +858,7 @@ static int ext4_clear_blocks(handle_t *handle, struct inode *inode,  	else if (ext4_should_journal_data(inode))  		flags |= EXT4_FREE_BLOCKS_FORGET; -	if (!ext4_data_block_valid(EXT4_SB(inode->i_sb), block_to_free, -				   count)) { +	if (!ext4_inode_block_valid(inode, block_to_free, count)) {  		EXT4_ERROR_INODE(inode, "attempt to clear invalid "  				 "blocks %llu len %lu",  				 (unsigned long long) block_to_free, count); @@ -1004,8 +1003,7 @@ static void ext4_free_branches(handle_t *handle, struct inode *inode,  			if (!nr)  				continue;		/* A hole */ -			if (!ext4_data_block_valid(EXT4_SB(inode->i_sb), -						   nr, 1)) { +			if (!ext4_inode_block_valid(inode, nr, 1)) {  				EXT4_ERROR_INODE(inode,  						 "invalid indirect mapped "  						 "block %lu (level %d)", @@ -1182,21 +1180,21 @@ do_indirects:  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 1);  			i_data[EXT4_IND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_IND_BLOCK:  		nr = i_data[EXT4_DIND_BLOCK];  		if (nr) {  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 2);  			i_data[EXT4_DIND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_DIND_BLOCK:  		nr = i_data[EXT4_TIND_BLOCK];  		if (nr) {  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 3);  			i_data[EXT4_TIND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_TIND_BLOCK:  		;  	} @@ -1436,7 +1434,7 @@ do_indirects:  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 1);  			i_data[EXT4_IND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_IND_BLOCK:  		if (++n >= n2)  			break; @@ -1445,7 +1443,7 @@ do_indirects:  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 2);  			i_data[EXT4_DIND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_DIND_BLOCK:  		if (++n >= n2)  			break; @@ -1454,7 +1452,7 @@ do_indirects:  			ext4_free_branches(handle, inode, NULL, &nr, &nr+1, 3);  			i_data[EXT4_TIND_BLOCK] = 0;  		} -		/* fall through */ +		fallthrough;  	case EXT4_TIND_BLOCK:  		;  	}  |