- set the number of pages to be written to "1".

- Don't test PG_writeback twice.


 mm/page-writeback.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN mm/page-writeback.c~write_one_page-cleanup mm/page-writeback.c
--- 25/mm/page-writeback.c~write_one_page-cleanup	2003-05-28 19:00:54.000000000 -0700
+++ 25-akpm/mm/page-writeback.c	2003-05-28 19:00:54.000000000 -0700
@@ -430,11 +430,12 @@ int write_one_page(struct page *page, in
 	int ret = 0;
 	struct writeback_control wbc = {
 		.sync_mode = WB_SYNC_ALL,
+		.nr_to_write = 1,
 	};
 
 	BUG_ON(!PageLocked(page));
 
-	if (wait && PageWriteback(page))
+	if (wait)
 		wait_on_page_writeback(page);
 
 	spin_lock(&mapping->page_lock);

_