1. 29 Jun, 2010 1 commit
    • Sage Weil's avatar
      ceph: only release clean, unused caps with mds requests · ec97f88b
      Sage Weil authored
      We can drop caps with an mds request.  Ensure we only drop unused AND
      clean caps, since the MDS doesn't support cap writeback in that context,
      nor do we track it.  If caps are dirty, and the MDS needs them back, we
      it will revoke and we will flush in the normal fashion.
      
      This fixes a possibly loss of metadata.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      ec97f88b
  2. 24 Jun, 2010 3 commits
  3. 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
  4. 17 Jun, 2010 1 commit
  5. 13 Jun, 2010 3 commits
  6. 12 Jun, 2010 1 commit
  7. 11 Jun, 2010 29 commits