[PATCH] decouple swapper_space treatment from other address_spaces
authorAndrew Morton <akpm@zip.com.au>
Sun, 5 May 2002 08:09:45 +0000 (01:09 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sun, 5 May 2002 08:09:45 +0000 (01:09 -0700)
commit21bd2dfd804ff4a4cc0e55d846a5633a3e22c97d
tree9be490a4468689947302a692205d9ceba5374b38
parent6c8dd3365680e292d2cfbb435e02dae667fb31df
[PATCH] decouple swapper_space treatment from other address_spaces

swapper_space is different.  Its pages are locked during writeout, it
uses PAGE_SIZE rather than PAGE_CACHE_SIZE.  Converting swap to look
more like the other address_spaces is a separate project.  This patch
fully restores the old swap behaviour.

- Don't dirty swapcache page buffers in set_page_dirty().

  Fixes a problem where __free_pte() runs set_page_dirty() and then
  immediately runs ClearPageDirty().  The pages ends up clean, with
  dirty buffers, and is unfreeable.

- Hence, don't mark the page clean if its buffers are clean - swap
  does not have page/buffers dirty state coherency.
fs/buffer.c
mm/page-writeback.c