1. 14 7月, 2012 4 次提交
  2. 20 6月, 2012 1 次提交
  3. 01 6月, 2012 1 次提交
  4. 30 5月, 2012 2 次提交
  5. 17 5月, 2012 7 次提交
  6. 08 5月, 2012 2 次提交
  7. 22 3月, 2012 15 次提交
  8. 21 3月, 2012 1 次提交
  9. 03 2月, 2012 3 次提交
  10. 13 1月, 2012 2 次提交
    • A
      ceph: ensure prealloc_blob is in place when removing xattr · 83eb26af
      Alex Elder 提交于
      In __ceph_build_xattrs_blob(), if a ceph inode's extended attributes
      are marked dirty, all attributes recorded in its rb_tree index are
      formatted into a "blob" buffer.  The target buffer is recorded in
      ceph_inode->i_xattrs.prealloc_blob, and it is expected to exist and
      be of sufficient size to hold the attributes.
      
      The extended attributes are marked dirty in two cases: when a new
      attribute is added to the inode; or when one is removed.  In the
      former case work is done to ensure the prealloc_blob buffer is
      properly set up, but in the latter it is not.
      
      Change the logic in ceph_removexattr() so it matches what is
      done in ceph_setxattr().  Note that this is done in a way that
      keeps the two blocks of code nearly identical, in anticipation
      of a subsequent patch that encapsulates some of this logic into
      one or more helper routines.
      Signed-off-by: NAlex Elder <elder@dreamhost.com>
      Signed-off-by: NSage Weil <sage@newdream.net>
      83eb26af
    • S
      ceph: enable/disable dentry complete flags via mount option · a40dc6cc
      Sage Weil 提交于
      Enable/disable use of the dentry dir 'complete' flag via a mount option.
      This lets the admin control whether ceph uses the dcache to satisfy
      negative lookups or readdir when it has the entire directory contents in
      its cache.
      
      This is purely a performance optimization; correctness is guaranteed
      whether it is enabled or not.
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NSage Weil <sage@newdream.net>
      a40dc6cc
  11. 12 1月, 2012 1 次提交
    • A
      ceph: always initialize the dentry in open_root_dentry() · d46cfba5
      Alex Elder 提交于
      When open_root_dentry() gets a dentry via d_obtain_alias() it does
      not get initialized.  If the dentry obtained came from the cache,
      this is OK.  But if not, the result is an improperly initialized
      dentry.
      
      To fix this, call ceph_init_dentry() regardless of which path
      produced the dentry.  That function returns immediately for a dentry
      that is already initialized, it is safe to use either way.
      
      (Credit to Sage, who suggested this fix.)
      Signed-off-by: NAlex Elder <aelder@sgi.com>
      d46cfba5
  12. 11 1月, 2012 1 次提交