From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Peterson Date: Wed, 16 Mar 2011 16:32:39 -0400 (EDT) Subject: [Cluster-devel] [GFS2 Patch] GFS2: write_end error path fails to unlock transaction lock In-Reply-To: <1567195545.477592.1300307424601.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> Message-ID: <129305071.477632.1300307559812.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, I did an audit of gfs2's transaction glock for bugzilla bug 658619 and ran across this: In function gfs2_write_end, in the unlikely event that gfs2_meta_inode_buffer returns an error, the code may forget to unlock the transaction lock because the "failed" label appears after the call to function gfs2_trans_end. Regards, Bob Peterson Red Hat File Systems Signed-off-by: Bob Peterson -- fs/gfs2/aops.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index aad77e4..86870b3 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c @@ -884,8 +884,8 @@ static int gfs2_write_end(struct file *file, struct address_space *mapping, } brelse(dibh); - gfs2_trans_end(sdp); failed: + gfs2_trans_end(sdp); if (al) { gfs2_inplace_release(ip); gfs2_quota_unlock(ip);