From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10142 invoked by alias); 22 Jul 2009 17:44:43 -0000 Received: (qmail 10135 invoked by alias); 22 Jul 2009 17:44:43 -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: gfs1-utils: master - GFS: Commited data evaporates To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: gfs1-utils.git X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 6ec6f79ce2b87d3d53efea9074f16339e4e66f2c X-Git-Newrev: a5b702ebca0ef783d1c4dc3b6cf0d55221fb45d5 From: Bob Peterson Message-Id: <20090722174423.F40181201FC@lists.fedorahosted.org> Date: Wed, 22 Jul 2009 17:44: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/msg00073.txt.bz2 Gitweb: http://git.fedorahosted.org/git/gfs1-utils.git?p=gfs1-utils.git;a=commitdiff;h=a5b702ebca0ef783d1c4dc3b6cf0d55221fb45d5 Commit: a5b702ebca0ef783d1c4dc3b6cf0d55221fb45d5 Parent: 6ec6f79ce2b87d3d53efea9074f16339e4e66f2c Author: Bob Peterson AuthorDate: Wed Jul 22 12:13:02 2009 -0500 Committer: Bob Peterson CommitterDate: Wed Jul 22 12:45:25 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 bb55e5c..e5b6c4c 100644 --- a/gfs-kernel/src/gfs/ops_file.c +++ b/gfs-kernel/src/gfs/ops_file.c @@ -1622,6 +1622,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);