diff options
author | Bob Peterson <rpeterso@redhat.com> | 2012-04-04 22:11:16 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-04-05 10:20:10 +0100 |
commit | 5e2f7d617b574dadf3ad125e4821ce1b180b1626 (patch) | |
tree | 5976cc0546b526751441fb2ace3cac2337261e21 /fs/gfs2/dir.c | |
parent | 97cc008aaa8c1f02699b478ca890e81810244131 (diff) | |
download | linux-stable-5e2f7d617b574dadf3ad125e4821ce1b180b1626.tar.gz linux-stable-5e2f7d617b574dadf3ad125e4821ce1b180b1626.tar.bz2 linux-stable-5e2f7d617b574dadf3ad125e4821ce1b180b1626.zip |
GFS2: Make sure rindex is uptodate before starting transactions
This patch removes the call from gfs2_blk2rgrd to function
gfs2_rindex_update and replaces it with individual calls.
The former way turned out to be too problematic.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/dir.c')
-rw-r--r-- | fs/gfs2/dir.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index c35573abd371..a836056343f0 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -1844,6 +1844,10 @@ static int leaf_dealloc(struct gfs2_inode *dip, u32 index, u32 len, unsigned int x, size = len * sizeof(u64); int error; + error = gfs2_rindex_update(sdp); + if (error) + return error; + memset(&rlist, 0, sizeof(struct gfs2_rgrp_list)); ht = kzalloc(size, GFP_NOFS); |