From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14467 invoked by alias); 22 Jul 2009 17:47:19 -0000 Received: (qmail 14430 invoked by alias); 22 Jul 2009 17:47:19 -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: STABLE3 - GFS: Commited data evaporates To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/STABLE3 X-Git-Reftype: branch X-Git-Oldrev: 09aa3a3c4979b514379c56066d416d01a1e6ac3d X-Git-Newrev: 0d93f2b3eb654c787940273d346bf95703a4ffe2 From: Bob Peterson Message-Id: <20090722174648.CE7911201FC@lists.fedorahosted.org> Date: Wed, 22 Jul 2009 17:47: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/msg00074.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=0d93f2b3eb654c787940273d346bf95703a4ffe2 Commit: 0d93f2b3eb654c787940273d346bf95703a4ffe2 Parent: 09aa3a3c4979b514379c56066d416d01a1e6ac3d Author: Bob Peterson AuthorDate: Wed Jul 22 12:13:02 2009 -0500 Committer: Bob Peterson CommitterDate: Wed Jul 22 12:49:26 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);