Revert recent changes to sync_page().  Now that page_mapping() returns
&swapper_space for swapcache pages we don't need to test for PageSwapCache in
sync_page().


---

 25-akpm/mm/filemap.c    |   11 +++++------
 25-akpm/mm/swap_state.c |    1 +
 2 files changed, 6 insertions(+), 6 deletions(-)

diff -puN mm/filemap.c~sync_page-use-swapper-space mm/filemap.c
--- 25/mm/filemap.c~sync_page-use-swapper-space	2004-05-15 18:28:04.165471296 -0700
+++ 25-akpm/mm/filemap.c	2004-05-15 18:28:04.171470384 -0700
@@ -121,14 +121,13 @@ static inline int sync_page(struct page 
 {
 	struct address_space *mapping;
 
+	/*
+	 * FIXME, fercrissake.  What is this barrier here for?
+	 */
 	smp_mb();
 	mapping = page_mapping(page);
-	if (mapping) {
-		if (mapping->a_ops && mapping->a_ops->sync_page)
-			return mapping->a_ops->sync_page(page);
-	} else if (PageSwapCache(page)) {
-		swap_unplug_io_fn(NULL, page);
-	}
+	if (mapping && mapping->a_ops && mapping->a_ops->sync_page)
+		return mapping->a_ops->sync_page(page);
 	return 0;
 }
 
diff -puN mm/swap_state.c~sync_page-use-swapper-space mm/swap_state.c
--- 25/mm/swap_state.c~sync_page-use-swapper-space	2004-05-15 18:28:04.166471144 -0700
+++ 25-akpm/mm/swap_state.c	2004-05-15 18:28:04.172470232 -0700
@@ -23,6 +23,7 @@
  */
 static struct address_space_operations swap_aops = {
 	.writepage	= swap_writepage,
+	.sync_page	= block_sync_page,
 	.set_page_dirty	= __set_page_dirty_nobuffers,
 };
 

_