cluster: STABLE2 - GFS: Commited data evaporates

Bob Peterson rpeterso@fedoraproject.org
Wed Jul 22 17:47:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a626347b4cc50e69b519d948cec03a4f47c94047
Commit:        a626347b4cc50e69b519d948cec03a4f47c94047
Parent:        5914d7c1d984b5e8352474ca0950be2c533000a4
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:56 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);



More information about the Cluster-cvs mailing list