1. 22 3月, 2011 3 次提交
    • Y
      ceph: update common header files · 483fac71
      Yehuda Sadeh 提交于
      This updates the common header files used by the different ceph
      related modules. Specifically it adds definitions required by
      the rbd watch/notify feature.
      Signed-off-by: NYehuda Sadeh <yehuda@hq.newdream.net>
      483fac71
    • S
      ceph: remove debugfs debug cruft · 21f3b5f1
      Sage Weil 提交于
      Whoops!
      Signed-off-by: NSage Weil <sage@newdream.net>
      21f3b5f1
    • S
      libceph: fix osd request queuing on osdmap updates · 6f6c7006
      Sage Weil 提交于
      If we send a request to osd A, and the request's pg remaps to osd B and
      then back to A in quick succession, we need to resend the request to A. The
      old code was only calling kick_requests after processing all incremental
      maps in a message, so it was very possible to not resend a request that
      needed to be resent.  This would make the osd eventually time out (at least
      with the current default of osd timeouts enabled).
      
      The correct approach is to scan requests on every map incremental.  This
      patch refactors the kick code in a few ways:
       - all requests are either on req_lru (in flight), req_unsent (ready to
         send), or req_notarget (currently map to no up osd)
       - mapping always done by map_request (previous map_osds)
       - if the mapping changes, we requeue.  requests are resent only after all
         map incrementals are processed.
       - some osd reset code is moved out of kick_requests into a separate
         function
       - the "kick this osd" functionality is moved to kick_osd_requests, as it
         is unrelated to scanning for request->pg->osd mapping changes
      Signed-off-by: NSage Weil <sage@newdream.net>
      6f6c7006
  2. 16 3月, 2011 2 次提交
    • 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
    • T
      libceph: Fix base64-decoding when input ends in newline. · b09734b1
      Tommi Virtanen 提交于
      It used to return -EINVAL because it thought the end was not aligned
      to 4 bytes.
      
      Clean up superfluous src < end test in if, the while itself guarantees
      that.
      Signed-off-by: NTommi Virtanen <tommi.virtanen@dreamhost.com>
      Signed-off-by: NSage Weil <sage@newdream.net>
      b09734b1
  3. 15 3月, 2011 35 次提交