diff options
author | Benjamin Marzinski <bmarzins@redhat.com> | 2010-01-25 12:23:24 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2010-02-01 04:59:54 -0500 |
commit | 55f0b4c546d1c87cccba63dc0fc5eb70e2b41733 (patch) | |
tree | c6343de5ed38538f7f9b572c4fc3155edad9db79 /fs/gfs2 | |
parent | 0f585f14d4e34ab701283e9237ac7695cd7c9e31 (diff) |
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>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/rgrp.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 0608f490c295..6702b82b375c 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c | |||
@@ -591,11 +591,6 @@ static int gfs2_ri_update(struct gfs2_inode *ip) | |||
591 | u64 rgrp_count = ip->i_disksize; | 591 | u64 rgrp_count = ip->i_disksize; |
592 | int error; | 592 | int error; |
593 | 593 | ||
594 | if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) { | ||
595 | gfs2_consist_inode(ip); | ||
596 | return -EIO; | ||
597 | } | ||
598 | |||
599 | clear_rgrpdi(sdp); | 594 | clear_rgrpdi(sdp); |
600 | 595 | ||
601 | file_ra_state_init(&ra_state, inode->i_mapping); | 596 | file_ra_state_init(&ra_state, inode->i_mapping); |