From: Sage Weil Date: Sat, 9 Jun 2018 01:45:08 +0000 (-0500) Subject: messages/MOSDPGScan: encode map_epcoh for query_epoch for pre-nautilus peers X-Git-Tag: v14.0.1~1155^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d5a3ae6008e4399b336f3a72d8dee328f97a0002;p=ceph.git messages/MOSDPGScan: encode map_epcoh for query_epoch for pre-nautilus peers Pre-nautilus OSDs do not create last_peering_reset reliably (due to not having the previous commit's fix in place). Avoid breaking them during an upgrade by encoding the map_epcoh in place of the query_epoch. Signed-off-by: Sage Weil --- diff --git a/src/messages/MOSDPGScan.h b/src/messages/MOSDPGScan.h index d709e9dd645c..d921d27ea6c2 100644 --- a/src/messages/MOSDPGScan.h +++ b/src/messages/MOSDPGScan.h @@ -74,7 +74,12 @@ public: using ceph::encode; encode(op, payload); encode(map_epoch, payload); - encode(query_epoch, payload); + if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) { + // pre-nautilus OSDs do not set last_peering_reset properly + encode(map_epoch, payload); + } else { + encode(query_epoch, payload); + } encode(pgid.pgid, payload); encode(begin, payload); encode(end, payload);