From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1605 invoked by alias); 23 Jul 2009 15:32:21 -0000 Received: (qmail 1597 invoked by alias); 23 Jul 2009 15:32:21 -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: RHEL52 - GFS: Commited data evaporates To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/RHEL52 X-Git-Reftype: branch X-Git-Oldrev: e716488ac3bb60ddf7111030b975d852151f6bb6 X-Git-Newrev: d52f4c7c5d7937e760ac7e8e7a969ff4016054c4 From: Bob Peterson Message-Id: <20090723153120.0B6D6120284@lists.fedorahosted.org> Date: Thu, 23 Jul 2009 15:32: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/msg00088.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=d52f4c7c5d7937e760ac7e8e7a969ff4016054c4 Commit: d52f4c7c5d7937e760ac7e8e7a969ff4016054c4 Parent: e716488ac3bb60ddf7111030b975d852151f6bb6 Author: Bob Peterson AuthorDate: Wed Jul 22 12:13:02 2009 -0500 Committer: Bob Peterson CommitterDate: Wed Jul 22 12:38:08 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 5df9a81..93dcfbf 100644 --- a/gfs-kernel/src/gfs/ops_file.c +++ b/gfs-kernel/src/gfs/ops_file.c @@ -1570,6 +1570,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);