From fd5d28f9b6d8f70ed30a07201146b0dcf97e0fe4 Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Mon, 20 Apr 2020 20:45:01 +0200 Subject: [PATCH] msg/async/ProtocolV2: store supported features instead of required We aren't interested in peer_required_features anywhere outside _handle_peer_banner_payload() -- once we know there is no mismatch, it's all about peer_supported_features. Signed-off-by: Ilya Dryomov --- src/msg/async/ProtocolV2.cc | 9 +++------ src/msg/async/ProtocolV2.h | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 43f02069446a7..e2a5ac6ea3e3c 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -81,7 +81,7 @@ if(connection->interceptor) { \ ProtocolV2::ProtocolV2(AsyncConnection *connection) : Protocol(2, connection), state(NONE), - peer_required_features(0), + peer_supported_features(0), client_cookie(0), server_cookie(0), global_seq(0), @@ -930,14 +930,11 @@ CtPtr ProtocolV2::_handle_peer_banner_payload(rx_buffer_t &&buffer, int r) { return nullptr; } - this->peer_required_features = peer_required_features; - if (this->peer_required_features == 0) { + this->peer_supported_features = peer_supported_features; + if (peer_required_features == 0) { this->connection_features = msgr2_required; } - // at this point we can change how the client protocol behaves based on - // this->peer_required_features - if (state == BANNER_CONNECTING) { state = HELLO_CONNECTING; } diff --git a/src/msg/async/ProtocolV2.h b/src/msg/async/ProtocolV2.h index e54d846abe77c..bb84c161ec97d 100644 --- a/src/msg/async/ProtocolV2.h +++ b/src/msg/async/ProtocolV2.h @@ -70,7 +70,7 @@ private: entity_name_t peer_name; State state; - uint64_t peer_required_features; + uint64_t peer_supported_features; // CEPH_MSGR2_FEATURE_* uint64_t client_cookie; uint64_t server_cookie; -- 2.39.5