From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756055AbdAJKg7 (ORCPT ); Tue, 10 Jan 2017 05:36:59 -0500 Received: from mx2.suse.de ([195.135.220.15]:50161 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751819AbdAJKg5 (ORCPT ); Tue, 10 Jan 2017 05:36:57 -0500 Date: Tue, 10 Jan 2017 11:36:54 +0100 From: Jan Kara To: Fabian Frederick Cc: Jan Kara , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH 03/12 linux-next] udf: merge bh free Message-ID: <20170110103654.GC4991@quack2.suse.cz> References: <1483736037-25111-1-git-send-email-fabf@skynet.be> <1483736037-25111-4-git-send-email-fabf@skynet.be> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1483736037-25111-4-git-send-email-fabf@skynet.be> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri 06-01-17 21:53:51, Fabian Frederick wrote: > Merge all bh free at one place. > > Signed-off-by: Fabian Frederick Thanks. Applied. Honza > --- > fs/udf/inode.c | 28 ++++++++++------------------ > 1 file changed, 10 insertions(+), 18 deletions(-) > > diff --git a/fs/udf/inode.c b/fs/udf/inode.c > index 4a7813b..5cac1c3 100644 > --- a/fs/udf/inode.c > +++ b/fs/udf/inode.c > @@ -745,11 +745,8 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, > ~(inode->i_sb->s_blocksize - 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); > - return newblock; > + goto out_free; > } > > /* Are we beyond EOF? */ > @@ -772,11 +769,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, > /* Create extents for the hole between EOF and offset */ > ret = udf_do_extend_file(inode, &prev_epos, laarr, offset); > if (ret < 0) { > - brelse(prev_epos.bh); > - brelse(cur_epos.bh); > - brelse(next_epos.bh); > *err = ret; > - return 0; > + newblock = 0; > + goto out_free; > } > c = 0; > offset = 0; > @@ -839,11 +834,9 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, > iinfo->i_location.partitionReferenceNum, > goal, err); > if (!newblocknum) { > - brelse(prev_epos.bh); > - brelse(cur_epos.bh); > - brelse(next_epos.bh); > *err = -ENOSPC; > - return 0; > + newblock = 0; > + goto out_free; > } > if (isBeyondEOF) > iinfo->i_lenExtents += inode->i_sb->s_blocksize; > @@ -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 */ > 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, > iinfo->i_location.partitionReferenceNum, 0); > if (!newblock) { > *err = -EIO; > - return 0; > + goto out_free; > } > *new = 1; > iinfo->i_next_alloc_block = block; > @@ -889,7 +878,10 @@ static sector_t inode_getblk(struct inode *inode, sector_t block, > udf_sync_inode(inode); > else > mark_inode_dirty(inode); > - > +out_free: > + brelse(prev_epos.bh); > + brelse(cur_epos.bh); > + brelse(next_epos.bh); > return newblock; > } > > -- > 2.7.4 > > -- Jan Kara SUSE Labs, CR