diff options
author | Andrew Morton <akpm@osdl.org> | 2004-05-22 08:00:31 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-05-22 08:00:31 -0700 |
commit | e6dfd92e48a0d3d2738e30dc762233d85ac98612 (patch) | |
tree | bc59b94b917f101eb803363991d670876cff6e94 /mm | |
parent | 8ea360d493ec1b969dc08a7d1413033eb52079de (diff) | |
download | history-e6dfd92e48a0d3d2738e30dc762233d85ac98612.tar.gz |
[PATCH] Make sync_page use swapper_space again
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().
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap.c | 11 | ||||
-rw-r--r-- | mm/swap_state.c | 1 |
2 files changed, 6 insertions, 6 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index b4dd01c24fb3c0..1dcf80bf791818 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -121,14 +121,13 @@ static inline int sync_page(struct page *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 --git a/mm/swap_state.c b/mm/swap_state.c index cc11edc2aca1b5..600ab2ef090b3b 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -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, }; |