1. 22 Dec, 2006 37 commits
  2. 21 Dec, 2006 3 commits
    • Andrew Morton's avatar
      [PATCH] truncate: clear page dirtiness before running try_to_free_buffers() · 3e67c098
      Andrew Morton authored
      truncate presently invalidates the dirty page's buffer_heads then shoots down
      the page.  But try_to_free_buffers() will now bale out because the page is
      dirty.
      
      Net effect: the LRU gets filled with dirty pages which have invalidated
      buffer_heads attached.  They have no ->mapping and hence cannot be cleaned.
      The machine leaks memory at an enormous rate.
      
      Fix this by cleaning the page before running try_to_free_buffers(), so
      try_to_free_buffers() can do its work.
      
      Also, remember to do dirty-page-acoounting in cancel_dirty_page() so the
      machine won't wedge up trying to write non-existent dirty pages.
      
      Probably still wrong, but now less so.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3e67c098
    • David Chinner's avatar
      [PATCH] Fix XFS after clear_page_dirty() removal · 92132021
      David Chinner authored
      XFS appears to call clear_page_dirty to get the mapping tree dirty tag
      set correctly at the same time the page dirty flag is cleared.  I note
      that this can be done by set_page_writeback() if we clear the dirty flag
      on the page first when we are writing back the entire page.
      
      Hence it seems to me that the XFS call to clear_page_dirty() could
      easily be substituted by clear_page_dirty_for_io() followed by a call to
      set_page_writeback() to get the mapping tree tags set correctly after
      the page has been marked clean.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      92132021
    • Miklos Szeredi's avatar
      [PATCH] fuse: remove clear_page_dirty() call · 9280f682
      Miklos Szeredi authored
      The use by FUSE was just a remnant of an optimization from the time
      when writable mappings were supported.
      
      Now FUSE never actually allows the creation of dirty pages, so this
      invocation of clear_page_dirty() is effectively a no-op.
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9280f682