• Andrew Morton's avatar
    [PATCH] decouple swapper_space treatment from other address_spaces · 21bd2dfd
    Andrew Morton authored
    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.
    21bd2dfd
buffer.c 57.2 KB