1. 31 7月, 2012 4 次提交
  2. 06 7月, 2012 1 次提交
  3. 06 6月, 2012 1 次提交
  4. 01 6月, 2012 3 次提交
  5. 30 5月, 2012 2 次提交
  6. 17 5月, 2012 7 次提交
  7. 08 5月, 2012 2 次提交
  8. 22 3月, 2012 15 次提交
  9. 21 3月, 2012 1 次提交
  10. 03 2月, 2012 3 次提交
  11. 13 1月, 2012 1 次提交
    • 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