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 <[email protected]> > --- > 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); >
