summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-03-22 12:47:40 +1100
committerNathan Scott <nathans@sgi.com>2006-03-22 12:47:40 +1100
commit2ddee844eef48bf9240ebdfd6c5ffc4333c7d639 (patch)
tree16cc4c8b13d31b94f247b54d726cb3d191ce5f6d /fs
parent3758dee9f64fa9692063e7167128f9cec3f5fd33 (diff)
downloadlinux-stable-2ddee844eef48bf9240ebdfd6c5ffc4333c7d639.tar.gz
linux-stable-2ddee844eef48bf9240ebdfd6c5ffc4333c7d639.tar.bz2
linux-stable-2ddee844eef48bf9240ebdfd6c5ffc4333c7d639.zip
[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. SGI-PV: 951193 SGI-Modid: xfs-linux-melb:xfs-kern:25531a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/linux-2.6/xfs_aops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index 965757cf15e9..97fc056130eb 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -647,7 +647,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;