From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Wed, 11 Nov 2009 10:06:26 +0000 Subject: [Cluster-devel] [PATCH] GFS2: drop rindex glock to refresh rindex list In-Reply-To: <20091110185456.GC6831@ether.msp.redhat.com> References: <20091110185456.GC6831@ether.msp.redhat.com> Message-ID: <1257933986.2718.7.camel@localhost.localdomain> 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 Tue, 2009-11-10 at 12:54 -0600, Benjamin Marzinski wrote: > When a gfs2 filesystem is grown, it needs to rebuild the rindex list to be able > to use the new space. gfs2 does this when the rindex is marked not uptodate, > which happens when the rindex glock is dropped. However, on a single node > setup, there is never any reason to drop the rindex glock, so gfs2 never > invalidates the the rindex. This patch makes gfs2 automatically drop the > rindex glock after filesystem grows, so it can refresh the rindex list. > > Signed-off-by: Benjamin Marzinski > --- > fs/gfs2/aops.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > Index: gfs2-2.6-nmw/fs/gfs2/aops.c > =================================================================== > --- gfs2-2.6-nmw.orig/fs/gfs2/aops.c > +++ gfs2-2.6-nmw/fs/gfs2/aops.c > @@ -819,8 +819,10 @@ static int gfs2_stuffed_write_end(struct > mark_inode_dirty(inode); > } > > - if (inode == sdp->sd_rindex) > + if (inode == sdp->sd_rindex) { > adjust_fs_space(inode); > + ip->i_gh.gh_flags |= GL_NOCACHE; > + } > > brelse(dibh); > gfs2_trans_end(sdp); > @@ -889,8 +891,10 @@ static int gfs2_write_end(struct file *f > mark_inode_dirty(inode); > } > > - if (inode == sdp->sd_rindex) > + if (inode == sdp->sd_rindex) { > adjust_fs_space(inode); > + ip->i_gh.gh_flags |= GL_NOCACHE; > + } > > brelse(dibh); > gfs2_trans_end(sdp); >