cluster: RHEL5 - GFS: Commited data evaporates

Bob Peterson rpeterso@fedoraproject.org
Thu Jul 23 15:29:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a46a5d37522642efd6b88d4d0b1812ddf8541073
Commit:        a46a5d37522642efd6b88d4d0b1812ddf8541073
Parent:        4d1e5e8187632e150588d5515635b6468f726f83
Author:        Bob Peterson <rpeterso@redhat.com>
AuthorDate:    Wed Jul 22 12:13:02 2009 -0500
Committer:     Bob Peterson <rpeterso@redhat.com>
CommitterDate: Thu Jul 23 09:35:00 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 bdeb3be..bd68583 100644
--- a/gfs-kernel/src/gfs/ops_file.c
+++ b/gfs-kernel/src/gfs/ops_file.c
@@ -1621,6 +1621,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