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);
> 

Reply via email to