1. 12 May, 2010 2 commits
    • Sage Weil's avatar
      ceph: preserve seq # on requeued messages after transient transport errors · e84346b7
      Sage Weil authored
      If the tcp connection drops and we reconnect to reestablish a stateful
      session (with the mds), we need to resend previously sent (and possibly
      received) messages with the _same_ seq # so that they can be dropped on
      the other end if needed.  Only assign a new seq once after the message is
      queued.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      e84346b7
    • Sage Weil's avatar
      ceph: fix cap removal races · f818a736
      Sage Weil authored
      The iterate_session_caps helper traverses the session caps list and tries
      to grab an inode reference.  However, the __ceph_remove_cap was clearing
      the inode backpointer _before_ removing itself from the session list,
      causing a null pointer dereference.
      
      Clear cap->ci under protection of s_cap_lock to avoid the race, and to
      tightly couple the list and backpointer state.  Use a local flag to
      indicate whether we are releasing the cap, as cap->session may be modified
      by a racing thread in iterate_session_caps.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      f818a736
  2. 11 May, 2010 5 commits
  3. 06 May, 2010 1 commit
    • Sage Weil's avatar
      ceph: don't use writeback_control in writepages completion · 54ad023b
      Sage Weil authored
      The ->writepages writeback_control is not still valid in the writepages
      completion.  We were touching it solely to adjust pages_skipped when there
      was a writeback error (EIO, ENOSPC, EPERM due to bad osd credentials),
      causing an oops in the writeback code shortly thereafter.  Updating
      pages_skipped on error isn't correct anyway, so let's just rip out this
      (clearly broken) code to pass the wbc to the completion.
      Signed-off-by: default avatarSage Weil <sage@newdream.net>
      54ad023b
  4. 04 May, 2010 1 commit
  5. 03 May, 2010 11 commits
  6. 30 Apr, 2010 7 commits
  7. 29 Apr, 2010 10 commits
  8. 28 Apr, 2010 3 commits