cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: wcheng@sourceware.org <wcheng@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/gfs-kernel/src/gfs ops_file.c
Date: 17 Jun 2007 02:56:43 -0000	[thread overview]
Message-ID: <20070617025643.29308.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL5
Changes by:	wcheng at sourceware.org	2007-06-17 02:56:43

Modified files:
	gfs-kernel/src/gfs: ops_file.c 

Log message:
	bugzilla 244134:
	
	Backport gfs datasync patch from RHEL4 to RHEL5 - sampled performance data:
	
	Throughput (lock_nolock)
	--- before ----         --- after ---
	Min 238.14 KB/s         Min 1.00 MB/s
	Max 238.14 KB/s         Max 1.00 MB/s
	Avg 238.14 KB/s         Avg 1.00 MB/s
	Latency Latency (lock_nolock)
	--- before ---------    --- after ---------
	Min 3805 usec 3 msec    Min 821 usec 0 msec
	Max 6043 usec 6 msec    Max 5466 usec 5 msec
	Avg 4182 usec 4 msec    Avg 1050 usec 1 msec

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/gfs/ops_file.c.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.28.2.1&r2=1.28.2.2

--- cluster/gfs-kernel/src/gfs/ops_file.c	2006/11/17 19:48:59	1.28.2.1
+++ cluster/gfs-kernel/src/gfs/ops_file.c	2007/06/17 02:56:43	1.28.2.2
@@ -24,6 +24,7 @@
 #include <linux/blkdev.h>
 #include <linux/mm.h>
 #include <linux/aio.h>
+#include <linux/writeback.h>
 #include <asm/uaccess.h>
 
 #include "gfs_ioctl.h"
@@ -1514,6 +1515,7 @@
 {
 	struct gfs_inode *ip = get_v2ip(dentry->d_inode);
 	struct gfs_holder i_gh;
+	struct inode *inode = dentry->d_inode;
 	int error;
 
 	atomic_inc(&ip->i_sbd->sd_ops_file);
@@ -1524,8 +1526,15 @@
 
 	if (gfs_is_jdata(ip))
 		gfs_log_flush_glock(ip->i_gl);
-	else
-		i_gh.gh_flags |= GL_SYNC;
+	else {
+		if ((!datasync) || (inode->i_state & I_DIRTY_DATASYNC)) {
+			struct writeback_control wbc = {
+				.sync_mode = WB_SYNC_ALL,
+				.nr_to_write = 0,
+			};
+			error = sync_inode(inode, &wbc);
+		}
+	}
 
 	gfs_glock_dq_uninit(&i_gh);
 



             reply	other threads:[~2007-06-17  2:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-17  2:56 wcheng [this message]
  -- strict thread matches above, loose matches on Subject: below --
2008-01-30  9:05 [Cluster-devel] cluster/gfs-kernel/src/gfs ops_file.c fabbione
2008-01-28  6:36 fabbione
2007-06-17  3:35 wcheng
2007-05-24 22:34 wcheng
2007-05-04 14:49 wcheng
2007-01-17 22:30 wcheng
2006-11-17 20:39 wcheng
2006-11-17 20:33 wcheng
2006-11-17 20:26 wcheng
2006-11-17 19:49 wcheng
2006-11-17 16:15 wcheng
2006-11-17  5:00 wcheng
2006-10-27 16:22 wcheng
2006-10-24  3:35 wcheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070617025643.29308.qmail@sourceware.org \
    --to=wcheng@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).