From a08fd280b58836c910a4af10eee2066e358d16db Mon Sep 17 00:00:00 2001 From: Bob Peterson Date: Wed, 29 Feb 2012 15:15:14 -0500 Subject: [PATCH] GFS2: Unlock rindex mutex on glock error 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 --- fs/gfs2/rgrp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); } -- 2.7.4