From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 391 invoked by alias); 23 Jul 2009 15:29:50 -0000 Received: (qmail 383 invoked by alias); 23 Jul 2009 15:29:49 -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: RHEL54 - GFS: Commited data evaporates To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL54 X-Git-Reftype: branch X-Git-Oldrev: 32bcee3c03818e5fe65751ade92308a35809e08f X-Git-Newrev: 188db164825505dfecd32b8eb4a53a1349557280 From: Bob Peterson Message-Id: <20090723152931.D237A120284@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/msg00086.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=188db164825505dfecd32b8eb4a53a1349557280 Commit: 188db164825505dfecd32b8eb4a53a1349557280 Parent: 32bcee3c03818e5fe65751ade92308a35809e08f Author: Bob Peterson AuthorDate: Wed Jul 22 12:13:02 2009 -0500 Committer: Bob Peterson CommitterDate: Thu Jul 23 10:31:53 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);