1. 16 Jul, 2010 1 commit
    • Sage Weil's avatar
      ceph: reuse request message when replaying against recovering mds · 01a92f17
      Sage Weil authored
      Replayed rename operations (after an mds failure/recovery) were broken
      because the request paths were regenerated from the dentry names, which
      get mangled when d_move() is called.
      
      Instead, resend the previous request message when replaying completed
      operations.  Just make sure the REPLAY flag is set and the target ino is
      filled in.
      
      This fixes problems with workloads doing renames when the MDS restarts,
      where the rename operation appears to succeed, but on mds restart then
      fails (leading to client confusion, app breakage, etc.).
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      01a92f17
  2. 09 Jul, 2010 2 commits
  3. 08 Jul, 2010 2 commits
  4. 05 Jul, 2010 3 commits
  5. 29 Jun, 2010 2 commits
  6. 24 Jun, 2010 3 commits
  7. 21 Jun, 2010 2 commits
    • Sage Weil's avatar
      ceph: delay umount until all mds requests drop inode+dentry refs · 17c688c3
      Sage Weil authored
      This fixes a race between handle_reply finishing an mds request, signalling
      completion, and then dropping the request structing and its dentry+inode
      refs, and pre_umount function waiting for requests to finish before
      letting the vfs tear down the dcache.  If umount was delayed waiting for
      mds requests, we could race and BUG in shrink_dcache_for_umount_subtree
      because of a slow dput.
      
      This delays umount until the msgr queue flushes, which means handle_reply
      will exit and will have dropped the ceph_mds_request struct.  I'm assuming
      the VFS has already ensured that its calls have all completed and those
      request refs have thus been dropped as well (I haven't seen that race, at
      least).
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      17c688c3
    • Sage Weil's avatar
      ceph: handle splice_dentry/d_materialize_unique error in readdir_prepopulate · d69ed05a
      Sage Weil authored
      Handle a splice_dentry failure (due to a d_materialize_unique error)
      without crashing.  (Also, report the error code.)
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      d69ed05a
  8. 17 Jun, 2010 1 commit
  9. 13 Jun, 2010 3 commits
  10. 12 Jun, 2010 1 commit
  11. 11 Jun, 2010 20 commits