1. 20 5月, 2011 6 次提交
  2. 12 5月, 2011 3 次提交
  3. 05 5月, 2011 1 次提交
  4. 04 5月, 2011 2 次提交
  5. 31 3月, 2011 1 次提交
  6. 30 3月, 2011 1 次提交
  7. 29 3月, 2011 1 次提交
  8. 26 3月, 2011 1 次提交
    • S
      ceph: flush msgr_wq during mds_client shutdown · ef550f6f
      Sage Weil 提交于
      The release method for mds connections uses a backpointer to the
      mds_client, so we need to flush the workqueue of any pending work (and
      ceph_connection references) prior to freeing the mds_client.  This fixes
      an oops easily triggered under UML by
      
       while true ; do mount ... ; umount ... ; done
      
      Also fix an outdated comment: the flush in ceph_destroy_client only flushes
      OSD connections out.  This bug is basically an artifact of the ceph ->
      ceph+libceph conversion.
      Signed-off-by: NSage Weil <sage@newdream.net>
      ef550f6f
  9. 22 3月, 2011 6 次提交
  10. 16 3月, 2011 1 次提交
    • S
      ceph: preserve I_COMPLETE across rename · 09adc80c
      Sage Weil 提交于
      d_move puts the renamed dentry at the end of d_subdirs, screwing with our
      cached dentry directory offsets.  We were just clearing I_COMPLETE to avoid
      any possibility of trouble.  However, assigning the renamed dentry an
      offset at the end of the directory (to match it's new d_subdirs position)
      is sufficient to maintain correct behavior and hold onto I_COMPLETE.
      
      This is especially important for workloads like rsync, which renames files
      into place.  Before, we would lose I_COMPLETE and do MDS lookups for each
      file.  With this patch we only talk to the MDS on create and rename.
      Signed-off-by: NSage Weil <sage@newdream.net>
      09adc80c
  11. 10 3月, 2011 1 次提交
  12. 05 3月, 2011 1 次提交
  13. 04 3月, 2011 3 次提交
  14. 20 2月, 2011 1 次提交
  15. 05 2月, 2011 1 次提交
    • S
      ceph: queue cap_snaps once per realm · e8e1ba96
      Sage Weil 提交于
      We were forming a dirty list, and then queueing cap_snaps for each realm
      _and_ its children, regardless of whether the children were already in the
      dirty list.  This meant we did it twice for some realms.  Which in turn
      meant we corrupted mdsc->snap_flush_list when the cap_snap was re-added to
      the list it was already on, and could trigger an infinite loop.
      
      We were also using recursion to do reach all the children, a no-no when
      stack is limited.
      
      Instead, (re)queue any children on the dirty list, avoiding processing
      anything twice and avoiding any recursion.
      Signed-off-by: NSage Weil <sage@newdream.net>
      e8e1ba96
  16. 26 1月, 2011 1 次提交
    • S
      ceph: avoid picking MDS that is not active · d66bbd44
      Sage Weil 提交于
      Ignore replication or auth frag data if it indicates an MDS that is not
      active.  This can happen if the MDS shuts down and the client has stale
      data about the namespace distribution across the MDS cluster.  If that's
      the case, fall back to directing the request based on the auth cap (which
      should always be accurate).
      Signed-off-by: NSage Weil <sage@newdream.net>
      d66bbd44
  17. 20 1月, 2011 4 次提交
  18. 14 1月, 2011 2 次提交
  19. 13 1月, 2011 3 次提交