]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
msg/async/ProtocolV2: take care of features when replacing the socket 35720/head
authorIlya Dryomov <idryomov@gmail.com>
Fri, 26 Jun 2020 20:57:06 +0000 (20:57 +0000)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 2 Jul 2020 11:17:41 +0000 (13:17 +0200)
commit7f15f9f7c2ec40da7003af8f4e7a0a6c9045a477
tree10367538fe80762dbdf95ef98e528151a08a6871
parent0d9c410735c63f23702ed8ec8f3fad622af22d0e
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>
(cherry picked from commit baff20a14bb322fc11bf13495bb8f5d5f4626116)
src/msg/async/ProtocolV2.cc
src/msg/async/frames_v2.h
src/test/msgr/test_msgr.cc