From: Greg Farnum Date: Tue, 2 Dec 2014 23:17:57 +0000 (-0800) Subject: SimpleMessenger: allow RESETSESSION whenever we forget an endpoint X-Git-Tag: v0.91~52^2~9^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8cd1fdd7a778eb84cb4d7161f73bc621cc394261;p=ceph.git SimpleMessenger: allow RESETSESSION whenever we forget an endpoint 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 --- diff --git a/src/msg/simple/Pipe.cc b/src/msg/simple/Pipe.cc index ef49a86e3943..6f4f989668b1 100644 --- a/src/msg/simple/Pipe.cc +++ b/src/msg/simple/Pipe.cc @@ -597,7 +597,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();