On Mon, 2010-01-25 at 11:23 -0600, Benjamin Marzinski wrote:
> 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>
> ---
> fs/gfs2/rgrp.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> Index: gfs2-2.6-nmw/fs/gfs2/rgrp.c
> ================================================== =================
> --- gfs2-2.6-nmw.orig/fs/gfs2/rgrp.c
> +++ gfs2-2.6-nmw/fs/gfs2/rgrp.c
> @@ -591,11 +591,6 @@ static int gfs2_ri_update(struct gfs2_in
> 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);
>