summaryrefslogtreecommitdiff
path: root/fs/gfs2
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2012-03-22 08:58:30 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2012-03-26 09:16:56 +0100
commitc1ac539ed43f273cd4d92bf7350ffd783b920184 (patch)
tree3d1b9e08d5e215da8b0be0db788fff151d91ebbf /fs/gfs2
parente22057c8599373e5caef0bc42bdb95d2a361ab0d (diff)
downloadlinux-exynos-c1ac539ed43f273cd4d92bf7350ffd783b920184.tar.gz
linux-exynos-c1ac539ed43f273cd4d92bf7350ffd783b920184.tar.bz2
linux-exynos-c1ac539ed43f273cd4d92bf7350ffd783b920184.zip
GFS2: put glock reference in error patch of read_rindex_entry
This patch fixes the error path of function read_rindex_entry so that it correctly gives up its glock reference in cases where there is a race to re-read the rindex after gfs2_grow. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r--fs/gfs2/rgrp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 19bde40b4864..19354a20e5b1 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -640,6 +640,7 @@ static int read_rindex_entry(struct gfs2_inode *ip,
return 0;
error = 0; /* someone else read in the rgrp; free it and ignore it */
+ gfs2_glock_put(rgd->rd_gl);
fail:
kfree(rgd->rd_bits);