From 8cd1fdd7a778eb84cb4d7161f73bc621cc394261 Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 2 Dec 2014 15:17:57 -0800 Subject: [PATCH] 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 --- src/msg/simple/Pipe.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/msg/simple/Pipe.cc b/src/msg/simple/Pipe.cc index ef49a86e39438..6f4f989668b1d 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(); -- 2.39.5