* [Cluster-devel] [PATCH] GFS2: drop rindex glock to refresh rindex list
@ 2009-11-10 18:54 Benjamin Marzinski
2009-11-11 10:06 ` Steven Whitehouse
0 siblings, 1 reply; 2+ messages in thread
From: Benjamin Marzinski @ 2009-11-10 18:54 UTC (permalink / raw)
To: cluster-devel.redhat.com
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 <bmarzins@redhat.com>
---
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);
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Cluster-devel] [PATCH] GFS2: drop rindex glock to refresh rindex list
2009-11-10 18:54 [Cluster-devel] [PATCH] GFS2: drop rindex glock to refresh rindex list Benjamin Marzinski
@ 2009-11-11 10:06 ` Steven Whitehouse
0 siblings, 0 replies; 2+ messages in thread
From: Steven Whitehouse @ 2009-11-11 10:06 UTC (permalink / raw)
To: cluster-devel.redhat.com
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 <bmarzins@redhat.com>
> ---
> 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);
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-11-11 10:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-10 18:54 [Cluster-devel] [PATCH] GFS2: drop rindex glock to refresh rindex list Benjamin Marzinski
2009-11-11 10:06 ` Steven Whitehouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).