From 1eb0cd5a143d2b721588ac2a9c34a607f637ad6e Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 18 Dec 2014 16:49:06 -0800 Subject: [PATCH] osd: only verfy OSDMap crc if it is known Only verify we encode a full map with the correct CRC if we actually have the value in the Incremental. Otherwise, any map from an old mon will fail. And we'll try to request a full map with a message the old mon doesn't understand. Signed-off-by: Sage Weil --- src/osd/OSD.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 5b47f53e2b7..a31e1077b30 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6106,7 +6106,7 @@ void OSD::handle_osd_map(MOSDMap *m) injected_failure = true; } - if (o->get_crc() != inc.full_crc || injected_failure) { + if ((inc.have_crc && o->get_crc() != inc.full_crc) || injected_failure) { dout(2) << "got incremental " << e << " but failed to encode full with correct crc; requesting" << dendl; -- 2.47.3