From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Whitehouse Date: Tue, 10 Apr 2012 14:15:29 +0100 Subject: [Cluster-devel] [GFS2 PATCH] GFS2: Allow caching of rindex glock In-Reply-To: References: Message-ID: <1334063729.2701.20.camel@menhir> 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 both the -fixes and -nmw git trees. Thanks, Steve. On Tue, 2012-04-10 at 08:56 -0400, Bob Peterson wrote: > Hi, > > This patch allows caching of the rindex glock. We were previously > setting the GL_NOCACHE bit when the glock was released. That forced > the rindex inode to be invalidated, which caused us to re-read > rindex at the next access. However, it caused the glock to be > unnecessarily bounced around the cluster. This patch allows > the glock to remain cached, but it still causes the rindex to be > re-read once it has been written to by gfs2_grow. > > Ben and I have tested single-node gfs2_grow cases and I've tested > clustered gfs2_grow cases on my four-node cluster. > > Regards, > > Bob Peterson > Red Hat File Systems > > Signed-off-by: Bob Peterson > --- > Author: Bob Peterson > Date: Thu Apr 5 13:59:00 2012 -0500 > > GFS2: Allow caching of rindex glock > > This patch allows the caching of the rindex file. This keeps the > lock from being bounced around. > > diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c > index 38b7a74..9b2ff0e 100644 > --- a/fs/gfs2/aops.c > +++ b/fs/gfs2/aops.c > @@ -807,7 +807,7 @@ static int gfs2_stuffed_write_end(struct inode *inode, struct buffer_head *dibh, > > if (inode == sdp->sd_rindex) { > adjust_fs_space(inode); > - ip->i_gh.gh_flags |= GL_NOCACHE; > + sdp->sd_rindex_uptodate = 0; > } > > brelse(dibh); > @@ -873,7 +873,7 @@ static int gfs2_write_end(struct file *file, struct address_space *mapping, > > if (inode == sdp->sd_rindex) { > adjust_fs_space(inode); > - ip->i_gh.gh_flags |= GL_NOCACHE; > + sdp->sd_rindex_uptodate = 0; > } > > brelse(dibh); >