1. 16 Oct, 2007 1 commit
  2. 12 Oct, 2007 2 commits
    • Mark Fasheh's avatar
      ocfs2: Write support for inline data · 1afc32b9
      Mark Fasheh authored
      
      This fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline
      inode data.
      
      For the most part, the changes to the core write code can be relied on to do
      the heavy lifting. Any code calling ocfs2_write_begin (including shared
      writeable mmap) can count on it doing the right thing with respect to
      growing inline data to an extent tree.
      
      Size reducing truncates, including UNRESVP can simply zero that portion of
      the inode block being removed. Size increasing truncatesm, including RESVP
      have to be a little bit smarter and grow the inode to an extent tree if
      necessary.
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      Reviewed-by: default avatarJoel Becker <joel.becker@oracle.com>
      1afc32b9
    • Mark Fasheh's avatar
      ocfs2: Small refactor of truncate zeroing code · 1d410a6e
      Mark Fasheh authored
      
      We'll want to reuse most of this when pushing inline data back out to an
      extent. Keeping this part as a seperate patch helps to keep the upcoming
      changes for write support uncluttered.
      
      The core portion of ocfs2_zero_cluster_pages() responsible for making sure a
      page is mapped and properly dirtied is abstracted out into it's own
      function, ocfs2_map_and_dirty_page(). Actual functionality doesn't change,
      though zeroing becomes optional.
      
      We also turn part of ocfs2_free_write_ctxt() into  a common function for
      unlocking and freeing a page array. This operation is very common (and
      uniform) for Ocfs2 cluster sizes greater than page size, so it makes sense
      to keep the code in one place.
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      Reviewed-by: default avatarJoel Becker <joel.becker@oracle.com>
      1d410a6e
  3. 10 Jul, 2007 2 commits
  4. 26 Apr, 2007 4 commits
  5. 01 Dec, 2006 1 commit
  6. 17 May, 2006 1 commit
  7. 03 Jan, 2006 2 commits