From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Tue, 26 Jan 2010 14:20:07 +0000 Subject: [Cluster-devel] [PATCH V2] GFS2: Don't withdraw on partial rindex entries In-Reply-To: <20100125172323.GH17440@ether.msp.redhat.com> References: <20100125172323.GH17440@ether.msp.redhat.com> Message-ID: <1264515607.3047.20.camel@localhost> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, Now in the -nmw git tree. Thanks, Steve. 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 > --- > 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); >