]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: clear_session_waiting_on_map in ms_handle_reset
authorSamuel Just <sam.just@inktank.com>
Tue, 29 Jul 2014 22:54:37 +0000 (15:54 -0700)
committerSamuel Just <sam.just@inktank.com>
Thu, 7 Aug 2014 18:48:54 +0000 (11:48 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.cc
src/osd/OSD.h

index e1e7a54f99721fd04959e56c7798d5717490233b..75f975a5399177eebaf852829466acd22770be2c 100644 (file)
@@ -4358,6 +4358,7 @@ bool OSD::ms_handle_reset(Connection *con)
     return false;
   session->wstate.reset();
   session->con.reset(NULL);  // break con <-> session ref cycle
+  session_handle_reset(session);
   session->put();
   return true;
 }
index 7ce854b0fd076eab9361211da5b061facbf7d6ca..077702e0a1eca30c62b4a7cae871a1f604b33730 100644 (file)
@@ -1198,6 +1198,10 @@ public:
       (*i)->put();
     }
   }
+  void session_handle_reset(Session *session) {
+    Mutex::Locker l(session->session_dispatch_lock);
+    clear_session_waiting_on_map(session);
+  }
 
 private:
   /**