From: Sage Weil Date: Mon, 11 Jun 2018 02:41:54 +0000 (-0500) Subject: messages/MOSDPGLog: encode epoch for query_epoch for pre-nautilus OSDs X-Git-Tag: v14.0.1~1134^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=168e20ab8b8da3a5aed41b73f9627d10971be67b;p=ceph.git messages/MOSDPGLog: encode epoch for query_epoch for pre-nautilus OSDs This fix is analogous to d5a3ae6008e4399b336f3a72d8dee328f97a0002. As of 84a1984b7cb70c74eaf517ffc424228fa954ed37 we set query_epoch to a lower value reliably, but we need to encode the latest epoch for pre-nautilus OSDs because they do not set last_peering_epoch reliably and havin a lower query_epoch will cause them to discard this message. Signed-off-by: Sage Weil --- diff --git a/src/messages/MOSDPGLog.h b/src/messages/MOSDPGLog.h index 7138bbf08f06..2ae27f3a5890 100644 --- a/src/messages/MOSDPGLog.h +++ b/src/messages/MOSDPGLog.h @@ -96,7 +96,12 @@ public: encode(info, payload); encode(log, payload); encode(missing, payload); - encode(query_epoch, payload); + if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) { + // pre-nautilus OSDs do not set last_peering_reset properly + encode(epoch, payload); + } else { + encode(query_epoch, payload); + } encode(past_intervals, payload); encode(to, payload); encode(from, payload);