1. 27 4月, 2007 4 次提交
    • M
      ocfs2: temporarily remove extent map caching · 363041a5
      Mark Fasheh 提交于
      The code in extent_map.c is not prepared to deal with a subtree being
      rotated between lookups. This can happen when filling holes in sparse files.
      Instead of a lengthy patch to update the code (which would likely lose the
      benefit of caching subtree roots), we remove most of the algorithms and
      implement a simple path based lookup. A less ambitious extent caching scheme
      will be added in a later patch.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      363041a5
    • M
      ocfs2: sparse b-tree support · dcd0538f
      Mark Fasheh 提交于
      Introduce tree rotations into the b-tree code. This will allow ocfs2 to
      support sparse files. Much of the added code is designed to be generic (in
      the ocfs2 sense) so that it can later be re-used to implement large
      extended attributes.
      
      This patch only adds the rotation code and does minimal updates to callers
      of the extent api.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      dcd0538f
    • T
      ocfs2: Remove delete inode vote · 50008630
      Tiger Yang 提交于
      Ocfs2 currently does cluster-wide node messaging to check the open state of
      an inode during delete. This patch removes that mechanism in favor of an
      inode cluster lock which is taken at shared read when an inode is first read
      and dropped in clear_inode(). This allows a deleting node to test the
      liveness of an inode by attempting to take an exclusive lock.
      Signed-off-by: NTiger Yang <tiger.yang@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      50008630
    • M
      ocfs2: filter more error prints · a9f5f707
      Mark Fasheh 提交于
      We don't want to print anything at all in ocfs2_lookup() when getting an
      error from ocfs2_iget() - it could be something as innocuous as a signal
      being detected in the dlm.
      
      ocfs2_permission() should filter on -ENOENT which ocfs2_meta_lock() can
      return if the inode was deleted on another node.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      a9f5f707
  2. 18 2月, 2007 1 次提交
  3. 13 2月, 2007 1 次提交
  4. 22 1月, 2007 1 次提交
    • M
      ocfs2: Directory c/mtime update fixes · 592282cf
      Mark Fasheh 提交于
      ocfs2 wasn't updating c/mtime on directories during dirent
      creation/deletion. Fix ocfs2_unlink(), ocfs2_rename() and
      __ocfs2_add_entry() by adding the proper code to update the struct inode and
      push the change out to disk.
      
      This helps rename/unlink on nfs exported file systems in particular as those
      clients compare directory time values to avoid a full re-reading a directory
      which hasn't changed.
      
      ocfs2_rename() loses some superfluous error handling as a result of this
      patch.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      592282cf
  5. 08 12月, 2006 1 次提交
  6. 02 12月, 2006 13 次提交
  7. 21 10月, 2006 1 次提交
  8. 01 10月, 2006 3 次提交
  9. 25 9月, 2006 3 次提交
    • M
      ocfs2: Remove i_generation from inode lock names · 24c19ef4
      Mark Fasheh 提交于
      OCFS2 puts inode meta data in the "lock value block" provided by the DLM.
      Typically, i_generation is encoded in the lock name so that a deleted inode
      on and a new one in the same block don't share the same lvb.
      
      Unfortunately, that scheme means that the read in ocfs2_read_locked_inode()
      is potentially thrown away as soon as the meta data lock is taken - we
      cannot encode the lock name without first knowing i_generation, which
      requires a disk read.
      
      This patch encodes i_generation in the inode meta data lvb, and removes the
      value from the inode meta data lock name. This way, the read can be covered
      by a lock, and at the same time we can distinguish between an up to date and
      a stale LVB.
      
      This will help cold-cache stat(2) performance in particular.
      
      Since this patch changes the protocol version, we take the opportunity to do
      a minor re-organization of two of the LVB fields.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      24c19ef4
    • M
      ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() · 0027dd5b
      Mark Fasheh 提交于
      We can't use LKM_LOCAL for new dentry locks because an unlink and subsequent
      re-create of a name/inode pair may result in the lock still being mastered
      somewhere in the cluster.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      0027dd5b
    • M
      ocfs2: Hook rest of the file system into dentry locking API · 379dfe9d
      Mark Fasheh 提交于
      Actually replace the vote calls with the new dentry operations. Make any
      necessary adjustments to get the scheme to work.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      379dfe9d
  10. 21 9月, 2006 3 次提交
  11. 27 3月, 2006 1 次提交
  12. 25 3月, 2006 1 次提交
  13. 04 1月, 2006 1 次提交