]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
SimpleMessenger: allow RESETSESSION whenever we forget an endpoint 3915/head
authorGreg Farnum <gfarnum@redhat.com>
Tue, 2 Dec 2014 23:17:57 +0000 (15:17 -0800)
committerLoic Dachary <ldachary@redhat.com>
Mon, 9 Mar 2015 20:07:20 +0000 (21:07 +0100)
In the past (e229f8451d37913225c49481b2ce2896ca6788a2) we decided to disable
reset of lossless Pipes, because lossless peers resetting caused trouble and
they can't forget about each other. But they actually can: if mark_down()
is called.

I can't figure out how else we could forget about a remote endpoint, so I think
it's okay if we tell them we reset in order to clean up state. That's desirable
so that we don't get into strange situations with out-of-whack counters.

Fixes: #10080
Backport: giant, firefly, dumpling

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 8cd1fdd7a778eb84cb4d7161f73bc621cc394261)

src/msg/Pipe.cc

index 54ce6799fa53f50a1bec980de0a0111c2611d0fa..665e72c4f41191c40ae151737d19a5f4ebec9ed5 100644 (file)
@@ -549,7 +549,7 @@ int Pipe::accept()
               << " > " << existing->connect_seq << dendl;
       goto replace;
     } // existing
-    else if (policy.resetcheck && connect.connect_seq > 0) {
+    else if (connect.connect_seq > 0) {
       // we reset, and they are opening a new session
       ldout(msgr->cct,0) << "accept we reset (peer sent cseq " << connect.connect_seq << "), sending RESETSESSION" << dendl;
       msgr->lock.Unlock();