diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 21:05:59 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 21:05:59 +0000 |
commit | ba2dacab305c598cd4c34a604f8e276bf5bab5ff (patch) | |
tree | 78670a0139bf4d5ace617b29b7eba82bbc74d602 /mm/page_io.c | |
parent | b77bf69998121e689c5e86cc5630d39a0a9ee6ca (diff) |
Merge with Linux 2.3.99-pre7 and various other bits.
Diffstat (limited to 'mm/page_io.c')
-rw-r--r-- | mm/page_io.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/page_io.c b/mm/page_io.c index 23acf5af4..b2b6359d0 100644 --- a/mm/page_io.c +++ b/mm/page_io.c @@ -74,7 +74,7 @@ static int rw_swap_page_base(int rw, swp_entry_t entry, struct page *page, int w return 0; } if (!wait) { - set_bit(PG_decr_after, &page->flags); + SetPageDecrAfter(page); atomic_inc(&nr_async_pages); } @@ -132,6 +132,11 @@ void rw_swap_page_nolock(int rw, swp_entry_t entry, char *buf, int wait) PAGE_BUG(page); if (PageSwapCache(page)) PAGE_BUG(page); + if (page->mapping) + PAGE_BUG(page); + /* needs sync_page to wait I/O completation */ + page->mapping = &swapper_space; if (!rw_swap_page_base(rw, entry, page, wait)) UnlockPage(page); + page->mapping = NULL; } |