cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Steven Whitehouse <swhiteho@redhat.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 29/30] GFS2: drop rindex glock to refresh rindex list
Date: Wed, 25 Nov 2009 14:31:01 +0000	[thread overview]
Message-ID: <1259159462-28622-9-git-send-email-swhiteho@redhat.com> (raw)
In-Reply-To: <1259159462-28622-8-git-send-email-swhiteho@redhat.com>

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



  reply	other threads:[~2009-11-25 14:31 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-25 14:22 [Cluster-devel] GFS2: Extra early pre-pull patch posting Steven Whitehouse
2009-11-25 14:22 ` [Cluster-devel] [PATCH 01/30] GFS2: Fix potential race in glock code Steven Whitehouse
2009-11-25 14:22   ` [Cluster-devel] [PATCH 02/30] GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one) Steven Whitehouse
2009-11-25 14:22     ` [Cluster-devel] [PATCH 03/30] GFS2: Fix up system xattrs Steven Whitehouse
2009-11-25 14:22       ` [Cluster-devel] [PATCH 04/30] VFS: Add forget_all_cached_acls() Steven Whitehouse
2009-11-25 14:22         ` [Cluster-devel] [PATCH 05/30] GFS2: Use forget_all_cached_acls() Steven Whitehouse
2009-11-25 14:22           ` [Cluster-devel] [PATCH 06/30] GFS2: Use gfs2_set_mode() instead of munge_mode() Steven Whitehouse
2009-11-25 14:22             ` [Cluster-devel] [PATCH 07/30] GFS2: Clean up ACLs Steven Whitehouse
2009-11-25 14:22               ` [Cluster-devel] [PATCH 08/30] GFS2: Add cached ACLs support Steven Whitehouse
2009-11-25 14:22                 ` [Cluster-devel] [PATCH 09/30] VFS: Use GFP_NOFS in posix_acl_from_xattr() Steven Whitehouse
2009-11-25 14:22                   ` [Cluster-devel] [PATCH 10/30] GFS2: Alter arguments of gfs2_quota/statfs_sync Steven Whitehouse
2009-11-25 14:22                     ` [Cluster-devel] [PATCH 11/30] GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops Steven Whitehouse
2009-11-25 14:22                       ` [Cluster-devel] [PATCH 12/30] GFS2: Remove obsolete code in quota.c Steven Whitehouse
2009-11-25 14:22                         ` [Cluster-devel] [PATCH 13/30] GFS2: Add get_xstate quota function Steven Whitehouse
2009-11-25 14:22                           ` [Cluster-devel] [PATCH 14/30] GFS2: Add proper error reporting to quota sync via sysfs Steven Whitehouse
2009-11-25 14:22                             ` [Cluster-devel] [PATCH 15/30] GFS2: Remove constant argument from qdsb_get() Steven Whitehouse
2009-11-25 14:22                               ` [Cluster-devel] [PATCH 16/30] GFS2: Remove constant argument from qd_get() Steven Whitehouse
2009-11-25 14:22                                 ` [Cluster-devel] [PATCH 17/30] GFS2: Clean up gfs2_adjust_quota() and do_glock() Steven Whitehouse
2009-11-25 14:22                                   ` [Cluster-devel] [PATCH 18/30] GFS2: Add get_xquota support Steven Whitehouse
2009-11-25 14:22                                     ` [Cluster-devel] [PATCH 19/30] GFS2: Add set_xquota support Steven Whitehouse
2009-11-25 14:22                                       ` [Cluster-devel] [PATCH 20/30] VFS: Export dquot_send_warning Steven Whitehouse
2009-11-25 14:30                                       ` [Cluster-devel] [PATCH 21/30] GFS2: Use dquot_send_warning() Steven Whitehouse
2009-11-25 14:30                                         ` [Cluster-devel] [PATCH 22/30] GFS2: Improve statfs and quota usability Steven Whitehouse
2009-11-25 14:30                                           ` [Cluster-devel] [PATCH 23/30] GFS2: remove division from new statfs code Steven Whitehouse
2009-11-25 14:30                                             ` [Cluster-devel] [PATCH 24/30] GFS2: add barrier/nobarrier mount options Steven Whitehouse
2009-11-25 14:30                                               ` [Cluster-devel] [PATCH 25/30] GFS2: Display nobarrier option in /proc/mounts Steven Whitehouse
2009-11-25 14:30                                                 ` [Cluster-devel] [PATCH 26/30] FS2: Remove dirent_first() function Steven Whitehouse
2009-11-25 14:30                                                   ` [Cluster-devel] [PATCH 27/30] GFS2: Locking order fix in gfs2_check_blk_state Steven Whitehouse
2009-11-25 14:31                                                     ` [Cluster-devel] [PATCH 28/30] GFS2: Tag all metadata with jid Steven Whitehouse
2009-11-25 14:31                                                       ` Steven Whitehouse [this message]
2009-11-25 14:31                                                         ` [Cluster-devel] [PATCH 30/30] writeback: remove unused nonblocking and congestion checks (gfs2) Steven Whitehouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1259159462-28622-9-git-send-email-swhiteho@redhat.com \
    --to=swhiteho@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).