diff options
Diffstat (limited to 'fs/udf')
| -rw-r--r-- | fs/udf/inode.c | 6 | 
1 files changed, 2 insertions, 4 deletions
| diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 1d7c2a812fc1..34e416327dd4 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -595,7 +595,7 @@ static void udf_do_extend_final_block(struct inode *inode,  	 */  	if (new_elen <= (last_ext->extLength & UDF_EXTENT_LENGTH_MASK))  		return; -	added_bytes = (last_ext->extLength & UDF_EXTENT_LENGTH_MASK) - new_elen; +	added_bytes = new_elen - (last_ext->extLength & UDF_EXTENT_LENGTH_MASK);  	last_ext->extLength += added_bytes;  	UDF_I(inode)->i_lenExtents += added_bytes; @@ -684,7 +684,7 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,  	struct kernel_lb_addr eloc, tmpeloc;  	int c = 1;  	loff_t lbcount = 0, b_off = 0; -	udf_pblk_t newblocknum, newblock; +	udf_pblk_t newblocknum, newblock = 0;  	sector_t offset = 0;  	int8_t etype;  	struct udf_inode_info *iinfo = UDF_I(inode); @@ -787,7 +787,6 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,  		ret = udf_do_extend_file(inode, &prev_epos, laarr, hole_len);  		if (ret < 0) {  			*err = ret; -			newblock = 0;  			goto out_free;  		}  		c = 0; @@ -852,7 +851,6 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,  				goal, err);  		if (!newblocknum) {  			*err = -ENOSPC; -			newblock = 0;  			goto out_free;  		}  		if (isBeyondEOF) |