mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steven Whitehouse <swhiteho@redhat.com>
To: linux-kernel@vger.kernel.org, cluster-devel@redhat.com
Cc: Bob Peterson <rpeterso@redhat.com>,
	Steven Whitehouse <swhiteho@redhat.com>
Subject: [PATCH 16/16] GFS2: Set gl_object during inode create
Date: Fri, 30 Nov 2012 09:52:21 +0000	[thread overview]
Message-ID: <1354269141-3311-17-git-send-email-swhiteho@redhat.com> (raw)
In-Reply-To: <1354269141-3311-1-git-send-email-swhiteho@redhat.com>

From: Bob Peterson <rpeterso@redhat.com>

This patch fixes a cluster coherency problem that occurs when one
node creates a file, does several writes, then a different node
tries to write to the same file. When the inode's glock is demoted,
the inode wasn't synced to the media properly because the gl_object
wasn't set. Later, the flush daemon noticed the uncommitted data
and tried to flush it, only to discover the glock was no longer locked
properly in exclusive mode. That caused an assert withdraw.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 2405695..2b6f569 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -702,6 +702,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
 	if (error)
 		goto fail_free_inode;
 
+	ip->i_gl->gl_object = ip;
 	error = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, GL_SKIP, ghs + 1);
 	if (error)
 		goto fail_free_inode;
-- 
1.7.4


      parent reply	other threads:[~2012-11-30 10:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-30  9:52 GFS2: Pre-pull patch posting (merge window) Steven Whitehouse
2012-11-30  9:52 ` [PATCH 01/16] GFS2: Review bug traps in glops.c Steven Whitehouse
2012-11-30  9:52 ` [PATCH 02/16] GFS2: Speed up gfs2_rbm_from_block Steven Whitehouse
2012-11-30  9:52 ` [PATCH 03/16] GFS2: Rename glops go_xmote_th to go_sync Steven Whitehouse
2012-11-30  9:52 ` [PATCH 04/16] GFS2: Add test for resource group congestion status Steven Whitehouse
2012-11-30  9:52 ` [PATCH 05/16] GFS2: Use proper allocation context for new inodes Steven Whitehouse
2012-11-30  9:52 ` [PATCH 06/16] GFS2: Add Orlov allocator Steven Whitehouse
2012-11-30  9:52 ` [PATCH 07/16] GFS2: Fix truncation of journaled data files Steven Whitehouse
2012-11-30  9:52 ` [PATCH 08/16] GFS2: Use dirty_inode in gfs2_dir_add Steven Whitehouse
2012-11-30  9:52 ` [PATCH 09/16] GFS2: Eliminate redundant buffer_head manipulation in gfs2_unlink_inode Steven Whitehouse
2012-11-30  9:52 ` [PATCH 10/16] GFS2: Fix one RG corner case Steven Whitehouse
2012-11-30  9:52 ` [PATCH 11/16] GFS2: skip dlm_unlock calls in unmount Steven Whitehouse
2012-11-30  9:52 ` [PATCH 12/16] GFS2: only use lvb on glocks that need it Steven Whitehouse
2012-11-30  9:52 ` [PATCH 13/16] GFS2: remove redundant lvb pointer Steven Whitehouse
2012-11-30  9:52 ` [PATCH 14/16] GFS2: don't reference inode's glock during block allocation trace Steven Whitehouse
2012-11-30  9:52 ` [PATCH 15/16] GFS2: add error check while allocating new inodes Steven Whitehouse
2012-11-30  9:52 ` Steven Whitehouse [this message]

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=1354269141-3311-17-git-send-email-swhiteho@redhat.com \
    --to=swhiteho@redhat.com \
    --cc=cluster-devel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rpeterso@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

all inboxes | Powered by JetHome®