FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 11-11-2009, 09:06 AM
Steven Whitehouse
 
Default GFS2: drop rindex glock to refresh rindex list

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);
>
 
Old 11-25-2009, 01:31 PM
Steven Whitehouse
 
Default GFS2: drop rindex glock to refresh rindex list

From: Benjamin Marzinski <bmarzins@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>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
---
fs/gfs2/aops.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 694b5d4..dce062a 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -819,8 +819,10 @@ static int gfs2_stuffed_write_end(struct inode *inode, struct buffer_head *dibh,
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 *file, struct address_space *mapping,
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);
--
1.6.2.5
 

Thread Tools




All times are GMT. The time now is 11:21 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org