summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Marzinski <bmarzins@redhat.com>2010-01-25 11:23:24 -0600
committerSteven Whitehouse <swhiteho@redhat.com>2010-02-01 09:59:54 +0000
commit55f0b4c546d1c87cccba63dc0fc5eb70e2b41733 (patch)
treec6343de5ed38538f7f9b572c4fc3155edad9db79
parent0f585f14d4e34ab701283e9237ac7695cd7c9e31 (diff)
downloadop-kernel-dev-55f0b4c546d1c87cccba63dc0fc5eb70e2b41733.zip
op-kernel-dev-55f0b4c546d1c87cccba63dc0fc5eb70e2b41733.tar.gz
GFS2: Don't withdraw on partial rindex entries
ince gfs2 writes the rindex file a block at a time, and releases the exclusive lock after each block, it is possible that another process will grab the lock in the middle of the write. Since rindex entries are not an even divisor of blocks, that other process may see partial entries. On grows, this is fine. The process can simply ignore the the partial entires. Previously, the code withdrew when it saw partial entries. Now it simply ignores them. Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
-rw-r--r--fs/gfs2/rgrp.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 0608f49..6702b82 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -591,11 +591,6 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
u64 rgrp_count = ip->i_disksize;
int error;
- if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) {
- gfs2_consist_inode(ip);
- return -EIO;
- }
-
clear_rgrpdi(sdp);
file_ra_state_init(&ra_state, inode->i_mapping);
OpenPOWER on IntegriCloud