diff options
author | Bob Peterson <rpeterso@redhat.com> | 2012-03-22 08:58:30 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-03-26 04:16:56 -0400 |
commit | c1ac539ed43f273cd4d92bf7350ffd783b920184 (patch) | |
tree | 3d1b9e08d5e215da8b0be0db788fff151d91ebbf /fs | |
parent | e22057c8599373e5caef0bc42bdb95d2a361ab0d (diff) |
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')
-rw-r--r-- | fs/gfs2/rgrp.c | 1 |
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, | |||
640 | return 0; | 640 | return 0; |
641 | 641 | ||
642 | error = 0; /* someone else read in the rgrp; free it and ignore it */ | 642 | error = 0; /* someone else read in the rgrp; free it and ignore it */ |
643 | gfs2_glock_put(rgd->rd_gl); | ||
643 | 644 | ||
644 | fail: | 645 | fail: |
645 | kfree(rgd->rd_bits); | 646 | kfree(rgd->rd_bits); |