--- /dev/null
+From stable-bounces@linux.kernel.org Thu Mar 23 19:51:15 2006
+Date: Fri, 24 Mar 2006 14:46:22 +1100
+From: Nathan Scott <nathans@sgi.com>
+To: stable@kernel.org
+Cc: dgc@sgi.com
+Subject: [PATCH] XFS writeout fix
+
+[XFS] Check that a page has dirty buffers before finding it acceptable for
+rewrite clustering. This prevents writing excessive amounts of clean data
+when doing random rewrites of a cached file.
+
+Signed-off-by: David Chinner <dgc@sgi.com>
+Signed-off-by: Nathan Scott <nathans@sgi.com>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+
+ fs/xfs/linux-2.6/xfs_aops.c | 2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.16.orig/fs/xfs/linux-2.6/xfs_aops.c
++++ linux-2.6.16/fs/xfs/linux-2.6/xfs_aops.c
+@@ -616,7 +616,7 @@ xfs_is_delayed_page(
+ acceptable = (type == IOMAP_UNWRITTEN);
+ else if (buffer_delay(bh))
+ acceptable = (type == IOMAP_DELAY);
+- else if (buffer_mapped(bh))
++ else if (buffer_dirty(bh) && buffer_mapped(bh))
+ acceptable = (type == 0);
+ else
+ break;