This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gfs1-utils: master - GFS: Commited data evaporates


Gitweb:        http://git.fedorahosted.org/git/gfs1-utils.git?p=gfs1-utils.git;a=commitdiff;h=a5b702ebca0ef783d1c4dc3b6cf0d55221fb45d5
Commit:        a5b702ebca0ef783d1c4dc3b6cf0d55221fb45d5
Parent:        6ec6f79ce2b87d3d53efea9074f16339e4e66f2c
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:45:25 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);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]