05 Sep, 2009

5 commits

  • The next step in divorcing metadata I/O management from struct inode is
    to pass struct ocfs2_caching_info to the journal functions. Thus the
    journal locks a metadata cache with the cache io_lock function. It also
    can compare ci_last_trans and ci_created_trans directly.

    This is a large patch because of all the places we change
    ocfs2_journal_access..(handle, inode, ...) to
    ocfs2_journal_access..(handle, INODE_CACHE(inode), ...).

    Signed-off-by: Joel Becker

    Joel Becker
     
  • We have the read side of metadata caching isolated to struct
    ocfs2_caching_info, now we need the write side. This means the journal
    functions. The journal only does a couple of things with struct inode.

    This change moves the ip_last_trans field onto struct
    ocfs2_caching_info as ci_last_trans. This field tells the journal
    whether a pending journal flush is required.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • We are really passing the inode into the ocfs2_read/write_blocks()
    functions to get at the metadata cache. This commit passes the cache
    directly into the metadata block functions, divorcing them from the
    inode.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • We don't really want to cart around too many new fields on the
    ocfs2_caching_info structure. So let's wrap all our access of the
    parent object in a set of operations. One pointer on caching_info, and
    more flexibility to boot.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • We want to use the ocfs2_caching_info structure in places that are not
    inodes. To do that, it can no longer rely on referencing the inode
    directly.

    This patch moves the flags to ocfs2_caching_info->ci_flags, stores
    pointers to the parent's locks on the ocfs2_caching_info, and renames
    the constants and flags to reflect its independant state.

    Signed-off-by: Joel Becker

    Joel Becker
     

14 Oct, 2008

1 commit


21 Sep, 2006

1 commit

  • Uptodate.c now knows about read-ahead buffers. Use some more aggressive
    logic in ocfs2_readdir().

    The two functions which currently use directory read-ahead are
    ocfs2_find_entry() and ocfs2_readdir().

    Signed-off-by: Mark Fasheh

    Mark Fasheh
     

04 Feb, 2006

1 commit


04 Jan, 2006

1 commit