From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Mon, 19 Mar 2012 10:25:22 +0000 Subject: [Cluster-devel] [PATCH 06/12] GFS2: Unlock rindex mutex on glock error In-Reply-To: <1332152728-4027-1-git-send-email-swhiteho@redhat.com> References: <1332152728-4027-1-git-send-email-swhiteho@redhat.com> Message-ID: <1332152728-4027-7-git-send-email-swhiteho@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit From: Bob Peterson This patch fixes an error path in function gfs2_rindex_update that leaves the rindex mutex held. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 1446b4e..e09370e 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -699,13 +699,14 @@ int gfs2_rindex_update(struct gfs2_sbd *sdp) if (!gfs2_glock_is_locked_by_me(gl)) { error = gfs2_glock_nq_init(gl, LM_ST_SHARED, 0, &ri_gh); if (error) - return error; + goto out_unlock; unlock_required = 1; } if (!sdp->sd_rindex_uptodate) error = gfs2_ri_update(ip); if (unlock_required) gfs2_glock_dq_uninit(&ri_gh); +out_unlock: mutex_unlock(&sdp->sd_rindex_mutex); } -- 1.7.4