]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msg/async/ProtocolV2: take care of features when replacing the socket 35816/head
authorIlya Dryomov <idryomov@gmail.com>
Fri, 26 Jun 2020 20:57:06 +0000 (20:57 +0000)
committerIlya Dryomov <idryomov@gmail.com>
Sun, 28 Jun 2020 10:32:49 +0000 (10:32 +0000)
commitbaff20a14bb322fc11bf13495bb8f5d5f4626116
tree011765b2ce4eb0a59f3ce1ec2eca42622a7e6613
parent779a8df7546b8b0850729c8b266df327fb60d15b
msg/async/ProtocolV2: take care of features when replacing the socket

reuse_connection() can be called on exproto in BANNER_CONNECTING
(i.e. without peer_supported_features and with tx/rx_frame_asm set to
msgr2.0), but this state isn't carried over.  If the donor connection
is msgr2.1, this leads to repeated connection faults on crc or auth tag
mismatches because we end up assembling 2.0 frames while the peer is
expecting 2.1 frames.

Fixes: https://tracker.ceph.com/issues/46180
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
src/msg/async/ProtocolV2.cc
src/msg/async/frames_v2.h
src/test/msgr/test_msgr.cc