]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
msg/async/ProtocolV2: do not reenable pre_auth buffering on from reset_recv_state
authorSage Weil <sage@redhat.com>
Fri, 15 Mar 2019 03:50:29 +0000 (22:50 -0500)
committerSage Weil <sage@redhat.com>
Fri, 15 Mar 2019 11:08:51 +0000 (06:08 -0500)
commit8449b4c191fc7dbcd0d62267c9a9c419f50ccf6b
treebec1c25065a4d84e022f429b3c79c13d0262fb69
parentf1ab4ee685e373aeb0040848a4f805824eed2e37
msg/async/ProtocolV2: do not reenable pre_auth buffering on from reset_recv_state

This is specifically bad because we call reset_recv_state from
reuse_connection, which turns buffering back on on an already-authenticated
session.

Instead, reenable it only when we set the state to START_CONNECT.  (On
the accepting side, it is a fresh connection, so it starts out true.)
Also, we want to *disable* it on the connection we are reusing, which
might be in a pre-auth state, while we are in a post-auth state.

Fixes: http://tracker.ceph.com/issues/38746
Signed-off-by: Sage Weil <sage@redhat.com>
src/msg/async/ProtocolV2.cc