Merge pull request #16421 from tchaikov/wip-19939

messages/: always set header.version in encode_payload()

Reviewed-by: Haomai Wang <haomai@xsky.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
This commit is contained in:
Kefu Chai 2017-07-20 22:52:17 +08:00 committed by GitHub
commit 153d030e1d
8 changed files with 19 additions and 7 deletions

View File

@ -58,7 +58,9 @@ public:
}
void encode_payload(uint64_t features) override {
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
} else {
header.version = 4;
// for kraken+jewel only

View File

@ -82,6 +82,7 @@ public:
::encode(missing, payload);
::encode(query_epoch, payload);
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
::encode(past_intervals, payload);
} else {
header.version = 4;

View File

@ -58,7 +58,9 @@ public:
const char *get_type_name() const override { return "PGnot"; }
void encode_payload(uint64_t features) override {
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
} else {
// for jewel+kraken compat only
header.version = 5;

View File

@ -63,7 +63,9 @@ public:
}
void encode_payload(uint64_t features) override {
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
} else {
// for kraken/jewel only
header.version = 3;
::encode(epoch, payload);

View File

@ -46,7 +46,9 @@ public:
const char *get_type_name() const override { return "PGrm"; }
void encode_payload(uint64_t features) override {
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
} else {
// for jewel+kraken
header.version = 2;
::encode(epoch, payload);

View File

@ -102,7 +102,10 @@ public:
::encode(map_epoch, payload);
// with luminous, we drop peer_as_of_epoch and peer_stat
if (!HAVE_FEATURE(features, SERVER_LUMINOUS)) {
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
::encode(op, payload);
} else {
epoch_t dummy_epoch = {};
osd_peer_stat_t dummy_stat = {};
header.version = 3;
@ -110,8 +113,6 @@ public:
::encode(dummy_epoch, payload);
::encode(op, payload);
::encode(dummy_stat, payload);
} else {
::encode(op, payload);
}
::encode(stamp, payload);
size_t s = 0;

View File

@ -115,6 +115,7 @@ public:
void encode_payload(uint64_t features) override {
::encode(map_epoch, payload);
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
::encode(min_epoch, payload);
encode_trace(payload, features);
} else {

View File

@ -86,6 +86,7 @@ public:
void encode_payload(uint64_t features) override {
::encode(map_epoch, payload);
if (HAVE_FEATURE(features, SERVER_LUMINOUS)) {
header.version = HEAD_VERSION;
::encode(min_epoch, payload);
encode_trace(payload, features);
} else {