This is the mail archive of the
cluster-cvs@sourceware.org
mailing list for the cluster.
cluster: STABLE3 - GFS: Commited data evaporates
- From: Bob Peterson <rpeterso at fedoraproject dot org>
- To: cluster-cvs-relay at redhat dot com
- Date: Wed, 22 Jul 2009 17:46:48 +0000 (UTC)
- Subject: cluster: STABLE3 - GFS: Commited data evaporates
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=0d93f2b3eb654c787940273d346bf95703a4ffe2
Commit: 0d93f2b3eb654c787940273d346bf95703a4ffe2
Parent: 09aa3a3c4979b514379c56066d416d01a1e6ac3d
Author: Bob Peterson <rpeterso@redhat.com>
AuthorDate: Wed Jul 22 12:13:02 2009 -0500
Committer: Bob Peterson <rpeterso@redhat.com>
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);