From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32543 invoked by alias); 23 Jul 2009 15:29:01 -0000 Received: (qmail 32536 invoked by alias); 23 Jul 2009 15:29:01 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion2.fedora.phx.redhat.com Subject: cluster: RHEL5 - GFS: Commited data evaporates To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL5 X-Git-Reftype: branch X-Git-Oldrev: 4d1e5e8187632e150588d5515635b6468f726f83 X-Git-Newrev: a46a5d37522642efd6b88d4d0b1812ddf8541073 From: Bob Peterson Message-Id: <20090723152833.3FC61120284@lists.fedorahosted.org> Date: Thu, 23 Jul 2009 15:29:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q3/txt/msg00085.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a46a5d37522642efd6b88d4d0b1812ddf8541073 Commit: a46a5d37522642efd6b88d4d0b1812ddf8541073 Parent: 4d1e5e8187632e150588d5515635b6468f726f83 Author: Bob Peterson AuthorDate: Wed Jul 22 12:13:02 2009 -0500 Committer: Bob Peterson CommitterDate: Thu Jul 23 09:35:00 2009 -0500 GFS: Commited data evaporates bz 510310 Since stuffed data is contained along with the metadata, the journal needs to be flushed at fsync in order to ensure the data hits the media. The problem is that fsyncs to stuffed inodes were not causing the journal to be flushed. --- gfs-kernel/src/gfs/ops_file.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/gfs-kernel/src/gfs/ops_file.c b/gfs-kernel/src/gfs/ops_file.c index bdeb3be..bd68583 100644 --- a/gfs-kernel/src/gfs/ops_file.c +++ b/gfs-kernel/src/gfs/ops_file.c @@ -1621,6 +1621,8 @@ gfs_fsync(struct file *file, struct dentry *dentry, int datasync) }; error = sync_inode(inode, &wbc); } + if (gfs_is_stuffed(ip)) + gfs_log_flush_glock(ip->i_gl); } gfs_glock_dq_uninit(&i_gh);