Commit 02d4ca49 authored by Fabian Frederick's avatar Fabian Frederick Committed by Jan Kara

udf: merge bh free

Merge all bh free at one place.
Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 3cc6f844
...@@ -745,11 +745,8 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, ...@@ -745,11 +745,8 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
~(inode->i_sb->s_blocksize - 1)); ~(inode->i_sb->s_blocksize - 1));
udf_write_aext(inode, &cur_epos, &eloc, elen, 1); udf_write_aext(inode, &cur_epos, &eloc, elen, 1);
} }
brelse(prev_epos.bh);
brelse(cur_epos.bh);
brelse(next_epos.bh);
newblock = udf_get_lb_pblock(inode->i_sb, &eloc, offset); newblock = udf_get_lb_pblock(inode->i_sb, &eloc, offset);
return newblock; goto out_free;
} }
/* Are we beyond EOF? */ /* Are we beyond EOF? */
...@@ -772,11 +769,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, ...@@ -772,11 +769,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
/* Create extents for the hole between EOF and offset */ /* Create extents for the hole between EOF and offset */
ret = udf_do_extend_file(inode, &prev_epos, laarr, offset); ret = udf_do_extend_file(inode, &prev_epos, laarr, offset);
if (ret < 0) { if (ret < 0) {
brelse(prev_epos.bh);
brelse(cur_epos.bh);
brelse(next_epos.bh);
*err = ret; *err = ret;
return 0; newblock = 0;
goto out_free;
} }
c = 0; c = 0;
offset = 0; offset = 0;
...@@ -839,11 +834,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, ...@@ -839,11 +834,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
iinfo->i_location.partitionReferenceNum, iinfo->i_location.partitionReferenceNum,
goal, err); goal, err);
if (!newblocknum) { if (!newblocknum) {
brelse(prev_epos.bh);
brelse(cur_epos.bh);
brelse(next_epos.bh);
*err = -ENOSPC; *err = -ENOSPC;
return 0; newblock = 0;
goto out_free;
} }
if (isBeyondEOF) if (isBeyondEOF)
iinfo->i_lenExtents += inode->i_sb->s_blocksize; iinfo->i_lenExtents += inode->i_sb->s_blocksize;
...@@ -870,15 +863,11 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, ...@@ -870,15 +863,11 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
* the new number of extents is less than the old number */ * the new number of extents is less than the old number */
udf_update_extents(inode, laarr, startnum, endnum, &prev_epos); udf_update_extents(inode, laarr, startnum, endnum, &prev_epos);
brelse(prev_epos.bh);
brelse(cur_epos.bh);
brelse(next_epos.bh);
newblock = udf_get_pblock(inode->i_sb, newblocknum, newblock = udf_get_pblock(inode->i_sb, newblocknum,
iinfo->i_location.partitionReferenceNum, 0); iinfo->i_location.partitionReferenceNum, 0);
if (!newblock) { if (!newblock) {
*err = -EIO; *err = -EIO;
return 0; goto out_free;
} }
*new = 1; *new = 1;
iinfo->i_next_alloc_block = block; iinfo->i_next_alloc_block = block;
...@@ -889,7 +878,10 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, ...@@ -889,7 +878,10 @@ static sector_t inode_getblk(struct inode *inode, sector_t block,
udf_sync_inode(inode); udf_sync_inode(inode);
else else
mark_inode_dirty(inode); mark_inode_dirty(inode);
out_free:
brelse(prev_epos.bh);
brelse(cur_epos.bh);
brelse(next_epos.bh);
return newblock; return newblock;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment