aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2006-03-21 20:47:40 -0500
committerNathan Scott <nathans@sgi.com>2006-03-21 20:47:40 -0500
commit2ddee844eef48bf9240ebdfd6c5ffc4333c7d639 (patch)
tree16cc4c8b13d31b94f247b54d726cb3d191ce5f6d /fs/xfs
parent3758dee9f64fa9692063e7167128f9cec3f5fd33 (diff)
[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/xfs')
-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(
647 acceptable = (type == IOMAP_UNWRITTEN); 647 acceptable = (type == IOMAP_UNWRITTEN);
648 else if (buffer_delay(bh)) 648 else if (buffer_delay(bh))
649 acceptable = (type == IOMAP_DELAY); 649 acceptable = (type == IOMAP_DELAY);
650 else if (buffer_mapped(bh)) 650 else if (buffer_dirty(bh) && buffer_mapped(bh))
651 acceptable = (type == 0); 651 acceptable = (type == 0);
652 else 652 else
653 break; 653 break;